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

La colonna DateAdd ha causato un overflow

Posso duplicare l'errore con quanto segue:

declare @posting_date datetime
set @posting_date = '1/1/1753'

select DATEADD(day, -1 , DATEADD(mm, DATEDIFF(mm,0,@posting_date),0)) 

errore dopo averlo eseguito:

Fondamentalmente, posting_date nel caso precedente è il valore minimo di data e ora consentito dal server SQL. Se poi provi a sottrarre 1 giorno da esso, entra in una condizione di overflow.

La mia ipotesi è che tu abbia un punto dati impostato su Valore di data minimo di SQL Server .