【发布时间】:2010-11-13 23:28:04
【问题描述】:
c#中的DateTime和SQL server中的DateTime有区别吗?
【问题讨论】:
标签: c# sql-server datetime
c#中的DateTime和SQL server中的DateTime有区别吗?
【问题讨论】:
标签: c# sql-server datetime
精度和范围(所以,一切都很重要;-p)
来自 MSDN:
DateTime 值类型表示日期和时间,其值范围从 0001 年 1 月 1 日午夜 12:00:00 到公元 9999 年 12 月 31 日 (CE) 晚上 11:59:59 之间
时间值以 100 纳秒为单位,称为滴答声,特定日期是 GregorianCalendar 日历中自公元 001 年 1 月 1 日午夜 12:00 以来的滴答声数
日期范围:1753 年 1 月 1 日至 9999 年 12 月 31 日
精度:四舍五入到 0.000、0.003 或 0.007 秒的增量
【讨论】:
您也可以使用 SQL Server 2008 的 datetime2。精度也是 100ns。事实上,它是为了匹配 .NET DateTime 精度而引入的。
【讨论】:
是的。
SQL 日期时间类型的 C# 等效项是 SqlDateTime
因此,定义 SQL 调用(当然是带有参数集合的存储过程)以使用 SQLDateTime。优点是您可以在构建命令时捕获任何溢出或超出范围的错误,而不是在执行时从数据库引擎中捕获。
【讨论】: