Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Funzione di formato della data di SQL Server

In SQL Server, un tipo di dati DATETIME viene archiviato come 2 interi a 4 byte, quindi non ha una formattazione particolare come questa.

Se vuoi restituire la data in un formato specifico, devi CONVERTIRLA in VARCHAR con l'identificatore di formato appropriato specificato.

Se si dispone di un datetime in un VARCHAR e si desidera archiviarlo in un campo DATETIME in SQL Server, assicurarsi di passare quel valore a SQL in un formato che sarà sempre interpretato in modo sicuro. per esempio. Il formato gg/mm/AAAA non è sicuro poiché, a seconda delle impostazioni, potrebbe essere trattato come mm/gg/aaaa quando entra. I formati sicuri sono:

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

per esempio.

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

Aggiornamento:
Quando selezioni un campo DATETIME (GETDATE(), campo, variabile....) quello che vedi in SSMS è un valore formattato poiché questo è ciò che ti è utile, invece di mostrare la sua effettiva rappresentazione interna a 8 byte .