最有效的方式只存储日期?

时间:2012-04-24 15:35:40

标签: performance sql-server-2008 datetime smalldatetime

  

DateTime精确到百分之三秒。 SmallDateTime是   精确到一分钟。

如果您只需要一天的准确度怎么办?这里的最佳做法是什么?我意识到DateTime是8个字节,SmallDateTime只有4个;但我只是想知道是否有更好或更合适的方式来存储日期值而不是创建一个SmallDateTime列并在其中保存SmallDateTime.Date?

每一个小帮助! :)

2 个答案:

答案 0 :(得分:5)

这取决于您运行的SQL Server版本。

  • 2008 +:日期
  • 2008-:SmallDateTime

虽然,如果你看一下documentation for smalldatetime,它们会使用两个字节的整数表示日期和两个字节的整数作为时间,所以你可能会复制它们的行为并只存储一个两字节的整数(smallint) )然后使用DateAdd添加自1900/1/1以来的天数,如果在这种情况下 那么重要。

答案 1 :(得分:2)

使用3字节日期。见Date data type