РЕДАКТИРАНЕ:Прехвърлянето към float/int вече не работи в последните версии на SQL Server. Вместо това използвайте следното:
select datediff(day, '1899-12-30T00:00:00', my_date_field)
from mytable
Обърнете внимание, че датата на низа трябва да е в недвусмислен формат за дата, така че да не се влияе от регионалните настройки на вашия сървър.
В по-старите версии на SQL Server можете да конвертирате от DateTime в Integer чрез прехвърляне към float, след това към int:
select cast(cast(my_date_field as float) as int)
from mytable
(Забележка:Не можете да предавате направо към int, тъй като MSSQL закръгля стойността нагоре, ако сте изминали средата на деня!)
Ако във вашите данни има отместване, очевидно можете да добавите или извадите това от резултата
Можете да конвертирате в другата посока, като хвърлите направо назад:
select cast(my_integer_date as datetime)
from mytable