SQL Server 中的 DateTime2 与 DateTime

新手上路,请多包涵

哪一个:

是在 SQL Server 2008+ 中存储日期和时间 推荐方法吗?

我知道精度(可能还有存储空间)的差异,但是暂时忽略这些,是否有关于何时使用什么的最佳实践文档,或者我们应该只使用 datetime2 吗?

原文由 Mikeon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

datetime 的 MSDN 文档建议使用 datetime2 。这是他们的建议:

使用 timedatedatetime2datetimeoffset 数据类型 3d88351b31e70。这些类型符合 SQL 标准。它们更便携。 time , datetime2datetimeoffset 提供更高的秒精度。 datetimeoffset 为全球部署的应用程序提供时区支持。

datetime2 具有更大的日期范围、更大的默认小数精度和可选的用户指定精度。此外,根据用户指定的精度,它可能会使用更少的存储空间。

原文由 Adam Porad 发布,翻译遵循 CC BY-SA 4.0 许可协议

datetime2 更好

  • datetime 范围:1753-01-01 到 9999-12-31,datetime2 范围:0001-01-01 到 9999-12-31

  • datetime 精度:0.00333 秒,datetime2 精度:100 纳秒

  • datetime 得到 8 个字节,datetime2 得到 6 到 8 个字节取决于精度

(精度小于 3 需要 6 个字节,精度 3 或 4 需要 7 个字节,其他精度需要 8 个字节,点击查看下图)

在此处输入图像描述

原文由 M Komaei 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进