EDIT:Casting ke float/int tidak lagi berfungsi di versi terbaru SQL Server. Gunakan yang berikut ini sebagai gantinya:
select datediff(day, '1899-12-30T00:00:00', my_date_field)
from mytable
Perhatikan bahwa tanggal string harus dalam format tanggal yang jelas sehingga tidak terpengaruh oleh pengaturan regional server Anda.
Di versi SQL Server yang lebih lama, Anda dapat mengonversi dari DateTime ke Integer dengan mentransmisikan ke float, lalu ke int:
select cast(cast(my_date_field as float) as int)
from mytable
(NB:Anda tidak dapat melakukan cast langsung ke int, karena MSSQL membulatkan nilainya jika Anda melewati tengah hari!)
Jika ada offset dalam data Anda, Anda dapat dengan jelas menambah atau mengurangi ini dari hasil
Anda dapat mengonversi ke arah lain, dengan melakukan cast langsung ke belakang:
select cast(my_integer_date as datetime)
from mytable