Ето няколко начина за връщане на информация за всички езици в SQL Server. Единият метод използва изглед за съвместимост на системата, другият метод изпълнява системна съхранена процедура. И двата метода връщат един и същ резултат.
syslanguages
Изглед за съвместимост на системата
sys.syslanguages
Изгледът за съвместимост на системата връща информация за всички езици в SQL Server. Той връща информация като името на езика, псевдонима му, формата на датата и дори имената на месеците, кратки месеци, дни и т.н.
Както при всеки изглед, можете да изберете само тези колони, които ви интересуват. Така че, ако просто искате списък с имената на езиците или псевдоними, можете да изберете само тези колони.
Ето как да изберете всички езици и техните псевдоними в SQL Server:
SELECT name, alias FROM sys.syslanguages;
И ето резултата, който получавам в 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
Системна съхранена процедура
Като алтернатива можете да използвате sp_helplanguage
системна съхранена процедура. Тази съхранена процедура връща информация за всички езици в SQL Server или за конкретен език, ако е посочен.
Той всъщност връща своите данни от sys.syslanguages
изглед за съвместимост, споменат по-горе.
За да посочите език, просто предайте името на езика или псевдонима на съхранената процедура, когато я извиквате. Ако не е посочен език, всички езици се връщат.
Ето пример за връщане на информация за конкретен език:
EXEC sp_helplanguage Swedish;
Резултат (с помощта на вертикален изход):
-[ 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
И ето какво бихте направили, ако искате всички езици да бъдат върнати:
EXEC sp_helplanguage;
В SQL Server 2017 това връща 34 езика с тяхната свързана информация (доста дълъг списък). За щастие преди това създадох отделна статия, която изброява всички 34 езика и техните формати за дата в SQL Server 2017.