I SQL Server er en DATETIME-datatype gemt som 2 4-byte heltal, så som sådan har den ikke en bestemt formatering som denne.
Hvis du ønsker at returnere datoen i et bestemt format, skal du KONVERTERE den til VARCHAR med det korrekte format-id angivet.
Hvis du har en datetime i en VARCHAR og ønsker at gemme den i et DATETIME-felt i SQL Server, så skal du sørge for at videregive denne værdi til SQL i et format, der altid vil blive sikkert fortolket. for eksempel. dd/mm/ÅÅÅÅ-formatet er ikke sikkert, da det afhængigt af indstillinger kan behandles som mm/dd/åååå, når det går ind. Sikre formater er:
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
for eksempel.
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
Opdatering:
Når du VÆLGER et DATETIME-felt (GETDATE(), felt, variabel...), er det, du ser i SSMS, en formateret værdi, da det er det, der er nyttigt for dig, i stedet for at det viser den faktiske interne 8byte-repræsentation .