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

Comment afficher une date au format britannique dans SQL Server (T-SQL)

Cet article montre comment formater explicitement une date au format anglais britannique lors de l'utilisation de T-SQL FORMAT() fonction dans SQL Server.

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 anglais de Grande-Bretagne.

Exemple 1 - Format de date britannique court

Pour spécifier explicitement qu'une date doit être affichée au format anglais de Grande-Bretagne, utilisez en-gb comme argument culturel :

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

Résultat :

+------------+
| Result     |
|------------|
| 01/12/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 parce que nous utilisons le format anglais britannique, le jour précède le mois (contrairement au format de date américain, où le mois précède le jour).

Exemple 2 - Format de date britannique long

Vous pouvez changer le deuxième argument en un D majuscule pour obtenir un format de date plus long, avec le mois en toutes lettres :

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

Résultat :

+------------------+
| Result           |
|------------------|
| 01 December 2020 |
+------------------+

Exemple 3 - Format de date britannique personnalisé

Vous pouvez également utiliser un format de date personnalisé si nécessaire. Cela vous permet d'indiquer explicitement comment et où chaque composant de date va.

Exemple :

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

Résultat :

+------------------+
| Result           |
|------------------|
| Tue, 1 Dec, 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.

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).