在SQL Server中记录创建日期和/或修改日期的最佳实践

时间:2016-08-29 15:35:59

标签: .net sql-server datetime timezone utc

我想记录上次修改我的应用程序中的实体的日期。

问题是,我想知道我应采取哪种方法:

  • 存储UTC日期(例如,使用GETUTCDATE()System.DateTime.UtcNow
  • 将日期存储在当前时区(例如,使用GETDATE()System.DateTime.Now
  • 使用时区偏移量存储日期(例如,使用SYSDATETIMEOFFSET()System.DateTimeOffset.Now
  • 上述
  • 中任何一项的组合

考虑到以下情况:

  • 该应用程序仅用于一个时区。这将从不更改。不知道SQL服务器实例是否托管在云中,但是应该正确配置时区。
  • 我不关心亚秒精度 - 即使秒精度也不是很重要。
  • 为了避免混淆,当查询" as-is"时,该值必须优先于当前时区显示正确,而不使用任何转换函数(如果直接查询该表)。
  • 我更喜欢只有一个专栏。如果最佳做法是将其命名为ModificationDateUtc,那很好,但请告诉我。

答案不完全符合这些规范,但涉及理论方面(何时选择什么)当然非常受欢迎!

0 个答案:

没有答案
相关问题