When I run the following query:
select convert(int, getdate())
I get the result:
-----------
41238
(1 row(s) affected)
Does anyone knows what does this mean?
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
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())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With