Convert getdate() to int

前端 未结 2 1217
南旧
南旧 2021-01-17 18:25

When I run the following query:

select convert(int, getdate())

I get the result:

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

(1 row(s) affected)


        
相关标签:
2条回答
  • 2021-01-17 18:44

    This is because SQL natively keeps the number of days since 01/01/1900

    The decimal after the integer value is the time.

    32.5 would equal 02/01/1900 12:00 pm

    If you are looking to get and work with only part of the date as an integer I would recommend using datepart

    This statement would return only the month and convert that value to an integer.

    select convert(int, datepart(mm,getdate())
    
    0 讨论(0)
  • 2021-01-17 18:56

    Its the number of days since I think 1/1/1900, sql-server keeps the number of days since then.

    Try dividing that number by roughly 365. You should get the value back in years (112). Since 1900 + 112 = 2012

    0 讨论(0)
提交回复
热议问题