Na serveru SQL Server je datový typ DATETIME uložen jako 2 4bajtová celá čísla, takže jako takový nemá konkrétní formátování, jako je toto.
Pokud chcete vrátit datum v určitém formátu, musíte jej PŘEVEDĚT na VARCHAR s příslušným zadaným identifikátorem formátu.
Pokud máte datum a čas ve VARCHAR a chcete jej uložit do pole DATETIME na SQL Server, měli byste se ujistit, že předáte tuto hodnotu SQL ve formátu, který bude vždy bezpečně interpretován. např. Formát dd/mm/RRRR není bezpečný, protože v závislosti na nastavení s ním lze zacházet jako s mm/dd/rrrr. Bezpečné formáty jsou:
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
např.
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
Aktualizace:
Když VYBERETE pole DATETIME (GETDATE(), pole, proměnná....), to, co vidíte v SSMS, je formátovaná hodnota, protože to je to, co je pro vás užitečné, místo toho, aby ukazovalo svou skutečnou interní 8bajtovou reprezentaci .