Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore di overflow aritmetico durante la conversione da numerico a tipo di dati numerico

La mia ipotesi è che stai cercando di spremere un numero maggiore di 99999,99 nei tuoi campi decimali. Se è maggiore di 99999.999, non sarà possibile modificarlo in (8,3):è necessario aumentare il numero di cifre prima il decimale. Puoi farlo aumentando la precisione (che è il numero totale di cifre prima e dopo il decimale). È possibile lasciare la scala invariata a meno che non sia necessario modificare il numero di cifre decimali da memorizzare. Prova decimal(9,2) o decimal(10,2) o altro.

Puoi verificarlo commentando insert #temp e vedere quali numeri ti dà l'istruzione select e vedere se sono più grandi di quelli che la tua colonna può gestire.