Di seguito sono riportati un paio di modi per restituire informazioni su tutte le lingue in SQL Server. Un metodo utilizza una visualizzazione di compatibilità del sistema, l'altro metodo esegue una stored procedure di sistema. Entrambi i metodi restituiscono lo stesso risultato.
I syslanguages
Visualizzazione compatibilità di sistema
Il sys.syslanguages
la visualizzazione di compatibilità del sistema restituisce informazioni su tutte le lingue in SQL Server. Restituisce informazioni come il nome della lingua, il suo alias, il formato della data e persino i nomi dei mesi, dei mesi brevi, dei giorni, ecc.
Come con qualsiasi vista, puoi selezionare solo le colonne che ti interessano. Quindi, se desideri solo un elenco dei nomi o degli alias delle lingue, puoi selezionare solo quelle colonne.
Ecco come selezionare tutte le lingue e i relativi alias in SQL Server:
SELECT name, alias FROM sys.syslanguages;
Ed ecco il risultato che ottengo 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 | +--------------------+---------------------+
Il sp_helplanguage
Procedura memorizzata di sistema
In alternativa, puoi usare sp_helplanguage
procedura memorizzata di sistema. Questa stored procedure restituisce informazioni su tutte le lingue in SQL Server o su una lingua particolare, se ne viene specificata una.
In realtà restituisce i suoi dati da sys.syslanguages
vista compatibilità menzionata sopra.
Per specificare una lingua è sufficiente passare il nome della lingua o l'alias alla procedura memorizzata durante la chiamata. Se non viene specificata alcuna lingua, vengono restituite tutte le lingue.
Ecco un esempio di restituzione di informazioni su una lingua particolare:
EXEC sp_helplanguage Swedish;
Risultato (usando l'output 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
Ed ecco cosa faresti se volessi restituire tutte le lingue:
EXEC sp_helplanguage;
In SQL Server 2017, restituisce 34 lingue con le informazioni associate (un elenco piuttosto lungo). Fortunatamente in precedenza ho creato un articolo separato che elenca tutte le 34 lingue e i relativi formati di data in SQL Server 2017.