SQL Server 2005、2008 的 datetime
最小值是:1753-01-01 00:00:00
最大值是:9999-12-31 23:59:59.997
这与 .NET 中的 DateTime.MinValue、DateTime.MaxValue 不匹配,与 System.Data.SqlTypes.SqlDateTime.MinValue、System.Data.SqlTypes.SqlDateTime.MaxValue 匹配。
其实 .NET 与 SQL Server 字段关系是这样的:
System.Data.SqlTypes.SqlDateTime
- MinValue.Value:1753-01-01 00:00:00.000
- MaxValue.Value:9999-12-31 23:59:59.997(注意 997)
System.DateTime
- MinValue:0001-01-01 00:00:00.0000000
- MaxValue:9999-12-31 23:59:59.9999999
SQL Server 2005、2008 字段:smalldatetime
- 最小值:1900-01-01 00:00:00
- 最大值:2079-06-06 23:59:00(SQL Server 提示是 2079-06-06 23:59:59,其提示是错误的。)
SQL Server 2005、2008 字段:datetime
- 最小值:1753-01-01 00:00:00.000
- 最大值:9999-12-31 23:59:59.997(注意 997)
SQL Server 2008 字段:datetime2
- 最小值:0001-01-01 00:00:00.0000000
- 最大值:9999-12-31 23:59:59.9999999