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

Comment afficher une date au format de date américain dans SQL Server (T-SQL)

Dans SQL Server, vous pouvez utiliser le T-SQL FORMAT() fonction pour afficher une date au format souhaité. Cette fonction accepte un argument "culture" facultatif, que vous pouvez utiliser pour spécifier le format de date américain.

Vous pouvez ou non avoir besoin d'utiliser cet argument, selon la langue de votre session locale. Cependant, voici comment spécifier explicitement le format de date américain.

Exemple 1 - Format de date américain court

Pour spécifier explicitement qu'une date doit être affichée au format anglais américain, utilisez en-US comme argument culturel :

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'en-US') Result;

Résultat :

+-----------+
| Result    |
|-----------|
| 12/1/2020 |
+-----------+

Dans ce cas, j'ai utilisé un d minuscule comme deuxième argument. Il en résulte un format de date relativement court, le jour et le mois étant affichés sous forme de nombres.

Et comme nous utilisons un format de date américain, le mois précède le jour.

Exemple 2 - Format de date américain long

Si je le change en majuscule D , j'obtiens un format plus long, avec le jour et le mois en toutes lettres :

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'en-US') Result;

Résultat :

+---------------------------+
| Result                    |
|---------------------------|
| Tuesday, December 1, 2020 |
+---------------------------+

Exemple 3 – Format de date américain personnalisé

Si vous trouvez que les formats de date ci-dessus sont trop restrictifs, vous pouvez toujours spécifier un format de date personnalisé. Par exemple, si vous aimez l'exemple précédent, sauf que vous préférez n'avoir que les 3 premières lettres du jour et du mois, vous pouvez faire ceci :

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;

Résultat :

+------------------+
| Result           |
|------------------|
| Tue, Dec 1, 2020 |
+------------------+

Je spécifie toujours une culture même si je spécifie exactement où va chaque composant de date. La raison pour laquelle je fais cela est d'indiquer explicitement quelle langue utiliser. L'omission de cet argument peut ou non causer des problèmes, selon les langues utilisées.

L'avantage des formats de date personnalisés est qu'ils vous offrent une grande flexibilité. Vous pouvez changer les composants et ils apparaîtront exactement là où vous le souhaitez.

Vérification de votre session en cours

Lors de l'utilisation du FORMAT() fonction, si l'argument culture n'est pas fourni, la langue de la session en cours est utilisée. Cette langue est définie soit implicitement, soit explicitement en utilisant le SET LANGUAGE déclaration.

Pour plus d'informations, voici 3 façons d'obtenir la langue de la session en cours dans SQL Server (T-SQL).

Consultez également Comment définir la langue actuelle dans SQL Server (T-SQL).