SQL Server 中的 DateTime2 与 DateTime

2021-12-01 00:00:00 datetime sql tsql sql-server datetime2

哪个:

  • 日期时间
  • datetime2

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

is the recommended way to store date and time in SQL Server 2008+?

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

I'm aware of differences in precision (and storage space probably), but ignoring those for now, is there a best practice document on when to use what, or maybe we should just use datetime2 only?

推荐答案

datetime 建议使用 datetime2.这是他们的建议:

The MSDN documentation for datetime recommends using datetime2. Here is their recommendation:

使用 timedatedatetime2datetimeoffset 新数据类型工作.这些类型与 SQL标准.它们更便携.timedatetime2datetimeoffset提供更多的秒精度.datetimeoffset 提供时区支持全球部署应用程序.

Use the time, date, datetime2 and datetimeoffset data types for new work. These types align with the SQL Standard. They are more portable. time, datetime2 and datetimeoffset provide more seconds precision. datetimeoffset provides time zone support for globally deployed applications.

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

datetime2 has larger date range, a larger default fractional precision, and optional user-specified precision. Also depending on the user-specified precision it may use less storage.

相关文章