SQL Server 2005、2008 的 datetime 值范围

作者:vkvi 来源:ITPOW(原创) 日期:2014-7-11

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
相关文章