Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-Datumsformatfunktion

In SQL Server wird ein DATETIME-Datentyp als 2 4-Byte-Ganzzahlen gespeichert, sodass er keine bestimmte Formatierung wie diese hat.

Wenn Sie das Datum in einem bestimmten Format zurückgeben möchten, müssen Sie es mit der entsprechenden Formatkennung in VARCHAR KONVERTIEREN.

Wenn Sie eine Datumszeit in einem VARCHAR haben und diese in einem DATETIME-Feld in SQL Server speichern möchten, sollten Sie sicherstellen, dass Sie diesen Wert in einem Format an SQL übergeben, das immer sicher interpretiert wird. z.B. Das Format TT/MM/JJJJ ist nicht sicher, da es je nach Einstellungen als TT/MM/JJJJ behandelt werden könnte, wenn es eingeht. Sichere Formate sind:

yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm

z.B.

INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe

Aktualisierung:
Wenn Sie ein DATETIME-Feld (GETDATE(), Feld, Variable ....) AUSWÄHLEN, sehen Sie in SSMS einen formatierten Wert, da dies für Sie nützlich ist, anstatt die tatsächliche interne 8-Byte-Darstellung anzuzeigen .