Hier zijn een aantal manieren om informatie over alle talen in SQL Server te retourneren. De ene methode gebruikt een systeemcompatibiliteitsweergave, de andere methode voert een door het systeem opgeslagen procedure uit. Beide methoden geven hetzelfde resultaat.
De syslanguages
Systeemcompatibiliteitsweergave
De sys.syslanguages
systeemcompatibiliteitsweergave retourneert informatie over alle talen in SQL Server. Het geeft informatie terug zoals de taalnaam, de alias, het datumformaat en zelfs de namen van de maanden, korte maanden, dagen, enz.
Zoals bij elke weergave, kunt u alleen die kolommen selecteren waarin u geïnteresseerd bent. Dus als u alleen een lijst met taalnamen of aliassen wilt, kunt u alleen die kolommen selecteren.
Zo selecteert u alle talen en hun aliassen in SQL Server:
SELECT name, alias FROM sys.syslanguages;
En hier is het resultaat dat ik krijg in 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 | +--------------------+---------------------+
De sp_helplanguage
Door het systeem opgeslagen procedure
Als alternatief kunt u de sp_helplanguage
. gebruiken systeem opgeslagen procedure. Deze opgeslagen procedure retourneert informatie over alle talen in SQL Server, of over een bepaalde taal als die is opgegeven.
Het retourneert feitelijk zijn gegevens van de sys.syslanguages
bovenstaande compatibiliteitsweergave.
Om een taal te specificeren, geeft u eenvoudig de taalnaam of alias door aan de opgeslagen procedure wanneer u deze aanroept. Als er geen taal is opgegeven, worden alle talen geretourneerd.
Hier is een voorbeeld van het retourneren van informatie over een bepaalde taal:
EXEC sp_helplanguage Swedish;
Resultaat (met verticale uitvoer):
-[ 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
En dit is wat u zou doen als u alle talen wilt teruggeven:
EXEC sp_helplanguage;
In SQL Server 2017 retourneert dit 34 talen met de bijbehorende informatie (een behoorlijk lange lijst). Gelukkig heb ik eerder een apart artikel gemaakt met alle 34 talen en hun datumnotaties in SQL Server 2017.