What is datetime2?
Solution 1
Defines a date that is combined with a time of day that is based on 24-hour clock. datetime2 can be considered as an extension of the existing datetime type that has a larger date range, a larger default fractional precision, and optional user-specified precision.
http://technet.microsoft.com/en-us/library/bb677335.aspx
Solution 2
SQLServer's datetime datatype is a much smaller range of allowed values than .net datetime datatype. SQLServer's datetime type basically supports the gregorian calendar, so the smallest value you can have is 1/1/1753. In 2008 SQLServer added a datetime2 datatype that supports back to year 1 (there was no year 0). Sounds like you're trying to insert a datetime value that's before 1/1/1753 into a datetime (not datetime2) SQLServer column
Solution 3
From technet:
Defines a date that is combined with a time of day that is based on 24-hour clock. datetime2 can be considered as an extension of the existing datetime type that has a larger date range, a larger default fractional precision, and optional user-specified precision.
I had to check because I thought datetime2
had some relation with varchar2
. Apparently, no relation at all.
Put your code so we can guess what caused the problem.
Solution 4
Could it be that your database table has a "DATETIME" or "SMALLDATETIME" column and you're trying to insert an out-of-range date?? DATETIME covers 1753-1-1 through 9999-12-31, while SMALLDATETIME covers 1900-1-1 through 2079-6-6 only.
The new SQL Server 2008 DATETIME2 data type will cover 0001-1-1 through 9999-12-31.
Marc
Glenn
.Net Developer, intrested in learning about the new .Net techniques.
Updated on May 09, 2020Comments
-
Glenn almost 4 years
I´ve got this in a INSERT statment to MSSQL 2008
System.Data.SqlClient.SqlException: The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.