Här är ett par sätt att returnera information om alla språk i SQL Server. En metod använder en systemkompatibilitetsvy, den andra metoden exekverar en systemlagrad procedur. Båda metoderna ger samma resultat.
syslanguages
Systemkompatibilitetsvy
sys.syslanguages
systemkompatibilitetsvyn returnerar information om alla språk i SQL Server. Den returnerar information som språknamnet, dess alias, dess datumformat och till och med namnen på månaderna, korta månader, dagar, etc.
Som med alla vyer kan du bara välja de kolumner du är intresserad av. Så om du bara vill ha en lista med språknamn eller alias kan du välja just dessa kolumner.
Så här väljer du alla språk och deras alias i SQL Server:
SELECT name, alias FROM sys.syslanguages;
Och här är resultatet jag får i 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 | +--------------------+---------------------+
sp_helplanguage
Systemlagrad procedur
Alternativt kan du använda sp_helplanguage
systemlagrad procedur. Denna lagrade procedur returnerar information om alla språk i SQL Server, eller om ett visst språk om ett är angivet.
Den returnerar faktiskt sin data från sys.syslanguages
kompatibilitetsvy som nämns ovan.
För att specificera ett språk skickar du bara språknamnet eller aliaset till den lagrade proceduren när du anropar det. Om inget språk anges returneras alla språk.
Här är ett exempel på att returnera information om ett visst språk:
EXEC sp_helplanguage Swedish;
Resultat (med vertikal utdata):
-[ 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
Och här är vad du skulle göra om du vill att alla språk ska returneras:
EXEC sp_helplanguage;
I SQL Server 2017 returnerar detta 34 språk med tillhörande information (ganska lång lista). Lyckligtvis skapade jag tidigare en separat artikel som listar alla 34 språk och deras datumformat i SQL Server 2017.