Dans SQL Server, vous pouvez utiliser le ALTER LOGIN
instruction pour changer la langue par défaut pour une connexion spécifique.
Cela garantira que chaque fois que cette connexion se connecte à SQL Server, tous les formats de date/heure et les messages système sont présentés dans le format et la langue corrects.
Exemple
Voici un exemple pour illustrer.
ALTER LOGIN Bart
WITH DEFAULT_LANGUAGE = German;
Cela change la langue pour le Bart
connectez-vous à l'allemand.
En fait, l'allemand n'est que le pseudonyme. Le vrai nom de la langue est Deutsch. Vous pouvez donc utiliser le nom ou l'alias avec cette instruction.
Désormais, lorsque Bart se connecte et exécute l'instruction suivante, il obtient l'allemand comme langue.
SELECT @@LANGUAGE;
Résultat :
Deutsch
Formats de date
La modification de la langue par défaut de la connexion modifie également la façon dont les valeurs de date/heure sont formatées.
Par exemple, voici ce qui se passe lorsque Bart exécute la requête suivante.
SELECT FORMAT(GETDATE(), 'd');
Résultat :
30.03.2020
Cette fonction génère la date dans un format compatible avec la langue allemande/allemande.
Cependant, Bart a la possibilité de remplacer ces paramètres.
Remplacer la langue par défaut
Notez que Bart peut toujours remplacer sa langue par défaut depuis sa session en utilisant SET LANGUAGE
.
SET LANGUAGE Spanish;
Résultat :
Se cambió la configuración de idioma a Español.
Il peut également définir explicitement une langue pour certaines requêtes, comme lors de l'utilisation du FORMAT()
fonction ou la fonction PARSE()
fonction pour formater les valeurs de date/heure. Ces fonctions acceptent un argument "culture" facultatif qui vous permet de spécifier la langue à utiliser pour formater la sortie.
Voici la même requête de l'exemple précédent, mais cette fois, Bart ajoute un troisième argument, qui spécifie une langue différente à utiliser pour la sortie.
SELECT
FORMAT(GETDATE(), 'd') AS [Default],
FORMAT(GETDATE(), 'd', 'en-US') AS [en-US];
Résultat :
+------------+-----------+ | Default | en-US | |------------+-----------| | 30.03.2020 | 3/30/2020 | +------------+-----------+