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

Modifier la langue par défaut d'une connexion dans SQL Server

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 |
 +------------+-----------+