Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Arithmetischer Überlauffehler in SQL

In Ihrem Beispiel der Wert von @daysInPeriod/@YEAR_360 ist 37.0444444444444444444 . Sie können diesen Wert also nicht einem Parameter vom Datentyp DECIMAL(38,38) zuweisen , da Sie im int-Teil keinen Platz lassen. Ein DECIMAL(38,38) bedeutet, dass Sie 38 Ziffern speichern können und 38 davon im Dezimalteil stehen, sodass jeder Wert größer als 0,999999999999 einen Fehler auslöst.