DateTime2与SQL Server中的DateTime
哪一个:
datetime
datetime2
是SQL Server 2008+中存储日期和时间的推荐方式?
我知道精度(可能存储空间)有差异,但是现在忽略这些差异,是否有最佳实践文档说明何时使用什么,或者我们应该只使用datetime2
?
datetime的MSDN文档建议使用datetime2。 这是他们的建议:
为新工作使用时间,日期,datetime2和datetimeoffset数据类型。 这些类型与SQL标准一致。 他们更便携。 时间,datetime2和datetimeoffset提供更多的秒精度。 datetimeoffset为全局部署的应用程序提供时区支持。
datetime2具有较大的日期范围,较大的默认小数精度以及可选的用户指定的精度。 还取决于用户指定的精度,它可能会使用较少的存储空间。
DATETIME2
的日期范围为“0001/01/01”至“9999/12/31”,而DATETIME
类型仅支持1753-9999年。
另外,如果您需要, DATETIME2
可以在时间上更精确; DATETIME限制为3 1/3毫秒,而DATETIME2
可以精确到100ns。
这两种类型都映射到.NET中的System.DateTime
在那里没有区别。
如果您有选择,我会建议尽可能使用DATETIME2
。 我没有看到使用DATETIME
任何好处(除了向后兼容性) - 你会有更少的麻烦(日期超出范围和麻烦)。
另外:如果你只需要日期(没有时间部分),使用日期 - 它和DATETIME2
一样好,并且也节省了空间! :-)只用于时间 - 使用TIME
。 这就是这些类型的存在!
datetime2在大多数方面都获胜,除了(老应用程序兼容性)
请注意以下几点
图像来源:MCTS Self-Paced培训套件(考试70-432):Microsoft®SQLServer®2008 - 实施和维护第3章:表格 - >第1课:创建表格 - >第66页
链接地址: http://www.djcxy.com/p/16891.html上一篇: DateTime2 vs DateTime in SQL Server
下一篇: How to remove the time portion of a datetime value (SQL Server)?