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

Stringhe di formato data/ora standard supportate da FORMAT() in SQL Server

Questo articolo fornisce un elenco delle stringhe di formato di data e ora standard che possono essere utilizzate durante la formattazione di date e/o ore utilizzando FORMAT() funzione in SQL Server, insieme a esempi che usano culture e tipi di dati diversi.

Questi sono gli identificatori di formato di data e ora standard supportati da .NET Framework e, di conseguenza, da SQL Server. Ogni stringa di formato di data e ora standard è un alias per una stringa di formato di data e ora personalizzata.

Esempi in inglese americano con 'datetime2'

La tabella seguente contiene tutti gli identificatori di formato di data e ora standard.

Gli esempi presuppongono un datetime2(7) valore di 2030-05-25 23:59:30.1234567 e usa en-us come valore dell'argomento cultura (per l'inglese americano).

Formatta stringa Esempio
d 25/5/2030
D Sabato 25 maggio 2030
f Sabato 25 maggio 2030 23:59
F Sabato 25 maggio 2030 23:59:30
g 25/5/2030 23:59
G 25/05/2030 23:59:30
M o m 25 maggio
O o o 25-05-2030 T23:59:30.1234567
R o r Sab, 25 maggio 2030 23:59:30 GMT
s 25-05-2030 T23:59:30
t 23:59
T 23:59:30
u 25-05-2030 23:59:30Z
U Sabato 25 maggio 2030 23:59:30
Y o y Maggio 2030

Inglese americano con "datetimeoffset"

La maggior parte dei risultati è la stessa quando si utilizza un datetimeoffset valore. Tuttavia, il O /o le stringhe di formato hanno un risultato diverso (il risultato conserva le informazioni sul fuso orario) e la U format string risulta in NULL (questo perché datetimeoffset il tipo di dati non supporta la U identificatore di formato).

Gli esempi seguenti presuppongono un datetimeoffset valore di 2030-05-25 23:59:30.1234567 +07:00 e usa un argomento cultura di en-us .

Formatta stringa Esempio
d 25/5/2030
D Sabato 25 maggio 2030
f Sabato 25 maggio 2030 23:59
F Sabato 25 maggio 2030 23:59:30
g 25/5/2030 23:59
G 25/05/2030 23:59:30
M o m 25 maggio
O o o 2030-05-25T23:59:30.1234567+07:00
R o r Sab, 25 maggio 2030 16:59:30 GMT
s 25-05-2030 T23:59:30
t 23:59
T 23:59:30
u 25-05-2030 16:59:30Z
U NULL*
Y o y Maggio 2030

* Il DateTimeOffset il tipo di dati non supporta l'identificatore di formato "U", quindi il risultato è NULL . Tuttavia, se usiamo un datetime2 valore e eliminato l'offset, otterremmo Saturday, May 25, 2030 11:59:30 PM .

Esempi di cultura invariante con 'datetime2'

Gli esempi seguenti usano le impostazioni cultura invarianti. La cultura invariante è insensibile alla cultura; è associato alla lingua inglese ma non a nessun paese/regione. Quando si formatta un valore di data/ora con FORMAT() , puoi specificare le impostazioni cultura invarianti passando 'iv' come terzo argomento.

Questi esempi presuppongono un datetime2(7) valore di 2030-05-25 23:59:30.1234567 e usa iv per l'argomento culture (usato per specificare le impostazioni cultura invarianti).

Formatta stringa Esempio
d 25/05/2030
D Sabato 25 maggio 2030
f Sabato 25 maggio 2030 23:59
F Sabato 25 maggio 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M o m 25 maggio
O o o 25-05-2030 T23:59:30.1234567
R o r Sab, 25 maggio 2030 23:59:30 GMT
s 25-05-2030 T23:59:30
t 23:59
T 23:59:30
u 25-05-2030 23:59:30Z
U Sabato 25 maggio 2030 23:59:30
Y o y 2030 maggio

Cultura invariante con "datetimeoffset"

Questi esempi presuppongono un datetimeoffset valore di 2030-05-25 23:59:30.1234567 +07:00 e usa il iv cultura.

Formatta stringa Esempio
d 25/05/2030
D Sabato 25 maggio 2030
f Sabato 25 maggio 2030 23:59
F Sabato 25 maggio 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M o m 25 maggio
O o o 2030-05-25T23:59:30.1234567+07:00
R o r Sab, 25 maggio 2030 16:59:30 GMT
s 25-05-2030 T23:59:30
t 23:59
T 23:59:30
u 25-05-2030 16:59:30Z
U NULL*
Y o y 2030 maggio

* Il DateTimeOffset il tipo di dati non supporta l'identificatore di formato "U", quindi il risultato è NULL . Tuttavia, se usiamo un datetime2 valore e eliminato l'offset, otterremmo Saturday, 25 May 2030 23:59:30 .