将getdate()转换为int

时间:2012-11-26 18:39:06

标签: sql casting int getdate

当我运行以下查询时:

select convert(int, getdate())

我得到了结果:

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

(1 row(s) affected)

有谁知道这意味着什么?

2 个答案:

答案 0 :(得分:5)

自我认为1/1/1900以来的天数,sql-server保留了自那时起的天数。

尝试将该数字除以365。 你应该在几年内得到这个价值(112)。 自1900 + 112 = 2012

答案 1 :(得分:2)

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

以来的天数

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

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

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

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

select convert(int, datepart(mm,getdate())