UPRAVIT:Casting do float/int již v posledních verzích SQL Server nefunguje. Místo toho použijte následující:
select datediff(day, '1899-12-30T00:00:00', my_date_field)
from mytable
Všimněte si, že řetězec datum by měl být v jednoznačném formátu data, aby nebyl ovlivněn místním nastavením vašeho serveru.
Ve starších verzích SQL Server můžete převést z DateTime na Integer přetypováním na float a poté na int:
select cast(cast(my_date_field as float) as int)
from mytable
(Poznámka:Nemůžete přenášet přímo na int, protože MSSQL zaokrouhluje hodnotu nahoru, pokud jste po půlnoci!)
Pokud je ve vašich datech odchylka, můžete ji samozřejmě přidat nebo odečíst od výsledku
Můžete konvertovat opačným směrem odlitím přímo zpět:
select cast(my_integer_date as datetime)
from mytable