Oto kilka sposobów na zwrócenie informacji o wszystkich językach w SQL Server. Jedna metoda wykorzystuje widok zgodności systemu, druga metoda wykonuje systemową procedurę składowaną. Obie metody zwracają ten sam wynik.
syslanguages
Widok zgodności systemu
sys.syslanguages
widok zgodności systemu zwraca informacje o wszystkich językach w SQL Server. Zwraca informacje, takie jak nazwa języka, jego alias, format daty, a nawet nazwy miesięcy, krótkie miesiące, dni itp.
Podobnie jak w przypadku każdego widoku, możesz wybrać tylko te kolumny, które Cię interesują. Jeśli więc potrzebujesz tylko listy nazw języków lub aliasów, możesz wybrać tylko te kolumny.
Oto jak wybrać wszystkie języki i ich aliasy w SQL Server:
SELECT name, alias FROM sys.syslanguages;
A oto wynik, jaki uzyskałem w 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
Procedura przechowywania w systemie
Alternatywnie możesz użyć sp_helplanguage
systemowa procedura składowana. Ta procedura składowana zwraca informacje o wszystkich językach w programie SQL Server lub o określonym języku, jeśli jest on określony.
W rzeczywistości zwraca swoje dane z sys.syslanguages
widok zgodności wspomniany powyżej.
Aby określić język, po prostu przekaż nazwę języka lub alias do procedury składowanej podczas jej wywoływania. Jeśli nie określono języka, zwracane są wszystkie języki.
Oto przykład zwracania informacji o konkretnym języku:
EXEC sp_helplanguage Swedish;
Wynik (przy użyciu wyjścia pionowego):
-[ 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
A oto, co byś zrobił, jeśli chcesz, aby wszystkie języki zostały zwrócone:
EXEC sp_helplanguage;
W SQL Server 2017 zwraca to 34 języki wraz z powiązanymi informacjami (dość długa lista). Na szczęście wcześniej stworzyłem osobny artykuł, który zawiera listę wszystkich 34 języków i ich formatów dat w SQL Server 2017.