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)?
