9

当我运行以下查询时:

select convert(int, getdate())

我得到结果:

-----------
41238

(1 row(s) affected)

有谁知道这是什么意思?

4

2 回答 2

8

它是我认为以来的天数1/1/1900,sql-server 保持从那时起的天数。

尝试将该数字除以大约 365。您应该以年份 (112) 获得该值。自 1900 + 112 = 2012

于 2012-11-26T18:42:54.620 回答
2

这是因为 SQL 本身会保留自01/01/1900

整数值后面的小数是时间。

32.5等于02/01/1900 12:00 pm

如果您希望仅将日期的一部分作为整数获取和使用,我建议您使用datepart

该语句将仅返回月份并将该值转换为整数。

select convert(int, datepart(mm,getdate())
于 2012-11-26T18:41:59.703 回答