Msg 298, Level 16, State 1, Line 4
The conversion from datetime data type to smalldatetime data type resulted in a smalldatetime overflow error.
This error message appears when you try to convert a datetime value into a smalldatetime value, but this value is outside the range of valid values for the smalldatetime type.
The T-SQL statement can be parsed, but causes the error at runtime.
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. The conversion cannot be done. The value must be within the range of valid values for the smalldatetime type.
All versions of SQL Server.
DECLARE @d1 datetime;
SET @d1 = ‘99991231’;
SELECT CAST (@d1 AS smalldatetime)
In the above example we try to convert the datetime value ‘9999-12-31’ into a value of type smalldatetime. Because the value is outside the range of valid smalldatetime values, the error is raised.