Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere un elenco di tutte le lingue in SQL Server (T-SQL)

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.