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

Comment obtenir une liste de toutes les langues dans SQL Server (T-SQL)

Voici quelques façons de renvoyer des informations sur toutes les langues dans SQL Server. Une méthode utilise une vue de compatibilité système, l'autre méthode exécute une procédure stockée système. Les deux méthodes renvoient le même résultat.

Les syslanguages Vue de compatibilité du système

Les sys.syslanguages La vue de compatibilité système renvoie des informations sur toutes les langues dans SQL Server. Il renvoie des informations telles que le nom de la langue, son alias, son format de date, et même les noms des mois, des mois courts, des jours, etc.

Comme pour toute vue, vous pouvez sélectionner uniquement les colonnes qui vous intéressent. Ainsi, si vous souhaitez uniquement une liste des noms de langue ou des alias, vous pouvez sélectionner uniquement ces colonnes.

Voici comment sélectionner toutes les langues et leurs alias dans SQL Server :

SELECT name, alias
FROM sys.syslanguages;

Et voici le résultat que j'obtiens dans SQL Server 2017 :

+--------------------+---------------------+
| name               | alias               |
|--------------------+---------------------|
| us_english         | English             |
| Deutsch            | German              |
| Français           | French              |
| 日本語             | Japanese            |
| Dansk              | Danish              |
| Español            | Spanish             |
| Italiano           | Italian             |
| Nederlands         | Dutch               |
| Norsk              | Norwegian           |
| Português          | Portuguese          |
| Suomi              | Finnish             |
| Svenska            | Swedish             |
| čeština            | Czech               |
| magyar             | Hungarian           |
| polski             | Polish              |
| română             | Romanian            |
| hrvatski           | Croatian            |
| slovenčina         | Slovak              |
| slovenski          | Slovenian           |
| ελληνικά           | Greek               |
| български          | Bulgarian           |
| русский            | Russian             |
| Türkçe             | Turkish             |
| British            | British English     |
| eesti              | Estonian            |
| latviešu           | Latvian             |
| lietuvių           | Lithuanian          |
| Português (Brasil) | Brazilian           |
| 繁體中文           | Traditional Chinese |
| 한국어             | Korean              |
| 简体中文           | Simplified Chinese  |
| Arabic             | Arabic              |
| ไทย                | Thai                |
| norsk (bokmål)     | Bokmål              |
+--------------------+---------------------+

Le sp_helplanguage Procédure stockée système

Alternativement, vous pouvez utiliser le sp_helplanguage procédure stockée système. Cette procédure stockée renvoie des informations sur toutes les langues dans SQL Server, ou sur une langue particulière si une est spécifiée.

Il renvoie en fait ses données depuis le sys.syslanguages vue de compatibilité mentionnée ci-dessus.

Pour spécifier une langue, transmettez simplement le nom ou l'alias de la langue à la procédure stockée lors de son appel. Si aucune langue n'est spécifiée, toutes les langues sont renvoyées.

Voici un exemple de retour d'informations sur une langue particulière :

EXEC sp_helplanguage Swedish;

Résultat (en utilisant la sortie verticale) :

-[ RECORD 1 ]-------------------------
langid      | 11
dateformat  | ymd
datefirst   | 1
upgrade     | 0
name        | Svenska
alias       | Swedish
months      | januari,februari,mars,april,maj,juni,juli,augusti,september,oktober,november,december
shortmonths | jan,feb,mar,apr,maj,jun,jul,aug,sep,okt,nov,dec
days        | måndag,tisdag,onsdag,torsdag,fredag,lördag,söndag
lcid        | 1053
msglangid   | 1053

Et voici ce que vous feriez si vous voulez que toutes les langues soient renvoyées :

EXEC sp_helplanguage;

Dans SQL Server 2017, cela renvoie 34 langues avec leurs informations associées (une liste assez longue). Heureusement, j'ai précédemment créé un article séparé qui répertorie les 34 langues et leurs formats de date dans SQL Server 2017.