Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter uma lista de todos os idiomas no SQL Server (T-SQL)


Aqui estão algumas maneiras de retornar informações sobre todos os idiomas no SQL Server. Um método usa uma visão de compatibilidade do sistema, o outro método executa um procedimento armazenado do sistema. Ambos os métodos retornam o mesmo resultado.


Os syslanguages Visualização de compatibilidade do sistema


Os sys.syslanguages A exibição de compatibilidade do sistema retorna informações sobre todos os idiomas no SQL Server. Ele retorna informações como o nome do idioma, seu alias, seu formato de data e até os nomes dos meses, meses curtos, dias, etc.

Como em qualquer exibição, você pode selecionar apenas as colunas em que está interessado. Portanto, se você deseja apenas uma lista de nomes de idiomas ou aliases, pode selecionar apenas essas colunas.

Veja como selecionar todos os idiomas e seus aliases no SQL Server:
SELECT name, alias
FROM sys.syslanguages;

E aqui está o resultado que recebo no 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              |
+--------------------+---------------------+

A sp_helplanguage Procedimento armazenado do sistema


Alternativamente, você pode usar o sp_helplanguage procedimento armazenado do sistema. Esse procedimento armazenado retorna informações sobre todos os idiomas no SQL Server ou sobre um idioma específico, se um for especificado.

Na verdade, ele retorna seus dados do sys.syslanguages visão de compatibilidade mencionada acima.

Para especificar um idioma, basta passar o nome do idioma ou alias para o procedimento armazenado ao chamá-lo. Se nenhum idioma for especificado, todos os idiomas serão retornados.

Aqui está um exemplo de retorno de informações sobre um idioma específico:
EXEC sp_helplanguage Swedish;

Resultado (usando saída vertical):
-[ 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

E aqui está o que você faria se desejasse que todos os idiomas fossem retornados:
EXEC sp_helplanguage;

No SQL Server 2017, isso retorna 34 idiomas com suas informações associadas (uma lista bastante longa). Felizmente, criei anteriormente um artigo separado que lista todos os 34 idiomas e seus formatos de data no SQL Server 2017.