Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Chaînes de format de date/heure standard prises en charge par FORMAT() dans SQL Server

Cet article fournit une liste des chaînes de format de date et d'heure standard qui peuvent être utilisées lors du formatage des dates et/ou des heures à l'aide de FORMAT() fonction dans SQL Server, ainsi que des exemples utilisant différentes cultures et types de données.

Il s'agit des spécificateurs de format de date et d'heure standard pris en charge par le .NET Framework et, par conséquent, par SQL Server. Chaque chaîne de format de date et d'heure standard est un alias pour une chaîne de format de date et d'heure personnalisée.

Exemples en anglais américain avec "datetime2"

Le tableau suivant contient tous les spécificateurs de format de date et d'heure standard.

Les exemples supposent une datetime2(7) valeur de 2030-05-25 23:59:30.1234567 et utilisez en-us comme valeur de l'argument culture (pour l'anglais américain).

Formater la chaîne Exemple
d 25/05/2030
D Samedi 25 mai 2030
f Samedi 25 mai 2030 23h59
F Samedi 25 mai 2030 23:59:30
g 25/05/2030 23h59
G 25/05/2030 23:59:30
M ou m 25 mai
O ou y 2030-05-25T23:59:30.1234567
R ou r Sam. 25 mai 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23h59
T 23:59:30
u 2030-05-25 23:59:30Z
U Samedi 25 mai 2030 23:59:30
Y ou y Mai 2030

Anglais américain avec "datetimeoffset"

La plupart des résultats sont les mêmes lors de l'utilisation d'un datetimeoffset valeur. Cependant, le O /y les chaînes de format ont un résultat différent (le résultat préserve les informations de fuseau horaire), et le U la chaîne de format donne NULL (c'est parce que le datetimeoffset le type de données ne prend pas en charge le U spécificateur de format).

Les exemples suivants supposent un datetimeoffset valeur de 2030-05-25 23:59:30.1234567 +07:00 et utilisez un argument de culture de en-us .

Formater la chaîne Exemple
d 25/05/2030
D Samedi 25 mai 2030
f Samedi 25 mai 2030 23h59
F Samedi 25 mai 2030 23:59:30
g 25/05/2030 23h59
G 25/05/2030 23:59:30
M ou m 25 mai
O ou y 2030-05-25T23:59:30.1234567+07:00
R ou r Sam. 25 mai 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23h59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULL*
Y ou y Mai 2030

* Le DateTimeOffset le type de données ne prend pas en charge le spécificateur de format "U", donc le résultat est NULL . Cependant, si nous utilisions un datetime2 valeur et a supprimé le décalage, nous aurions Saturday, May 25, 2030 11:59:30 PM .

Exemples de culture invariante avec 'datetime2'

Les exemples suivants utilisent la culture invariante. La culture invariante est insensible à la culture; il est associé à la langue anglaise mais pas à un pays/une région. Lors du formatage d'une valeur date/heure avec FORMAT() , vous pouvez spécifier la culture invariante en passant 'iv' comme troisième argument.

Ces exemples supposent une datetime2(7) valeur de 2030-05-25 23:59:30.1234567 et utilisez iv pour l'argument culture (qui est utilisé pour spécifier la culture invariante).

Formater la chaîne Exemple
d 25/05/2030
D Samedi 25 mai 2030
f Samedi 25 mai 2030 23h59
F Samedi 25 mai 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M ou m 25 mai
O ou y 2030-05-25T23:59:30.1234567
R ou r Sam. 25 mai 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 23:59:30Z
U Samedi 25 mai 2030 23:59:30
Y ou y Mai 2030

Culture invariante avec 'datetimeoffset'

Ces exemples supposent un datetimeoffset valeur de 2030-05-25 23:59:30.1234567 +07:00 et utilisez le iv culturelle.

Formater la chaîne Exemple
d 25/05/2030
D Samedi 25 mai 2030
f Samedi 25 mai 2030 23h59
F Samedi 25 mai 2030 23:59:30
g 25/05/2030 23:59
G 25/05/2030 23:59:30
M ou m 25 mai
O ou y 2030-05-25T23:59:30.1234567+07:00
R ou r Sam. 25 mai 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULL*
Y ou y Mai 2030

* Le DateTimeOffset le type de données ne prend pas en charge le spécificateur de format "U", donc le résultat est NULL . Cependant, si nous utilisions un datetime2 valeur et laissé tomber le décalage, nous obtiendrions Saturday, 25 May 2030 23:59:30 .