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.