Aquí hay un par de formas de devolver información en todos los idiomas en SQL Server. Un método usa una vista de compatibilidad del sistema, el otro método ejecuta un procedimiento almacenado del sistema. Ambos métodos devuelven el mismo resultado.
Los syslanguages
Vista de compatibilidad del sistema
Los sys.syslanguages
La vista de compatibilidad del sistema devuelve información sobre todos los idiomas en SQL Server. Devuelve información como el nombre del idioma, su alias, su formato de fecha, e incluso los nombres de los meses, meses cortos, días, etc.
Al igual que con cualquier vista, puede seleccionar solo las columnas que le interesen. Por lo tanto, si solo desea una lista de nombres o alias de idiomas, puede seleccionar solo esas columnas.
Aquí se explica cómo seleccionar todos los idiomas y sus alias en SQL Server:
SELECT name, alias FROM sys.syslanguages;
Y aquí está el resultado que obtengo en 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 | +--------------------+---------------------+
El sp_helplanguage
Procedimiento almacenado del sistema
Alternativamente, puede usar el sp_helplanguage
procedimiento almacenado del sistema. Este procedimiento almacenado devuelve información sobre todos los idiomas de SQL Server o sobre un idioma en particular, si se especifica uno.
En realidad, devuelve sus datos desde sys.syslanguages
vista de compatibilidad mencionada anteriormente.
Para especificar un idioma, simplemente pase el nombre del idioma o el alias al procedimiento almacenado al llamarlo. Si no se especifica ningún idioma, se devuelven todos los idiomas.
Este es un ejemplo de devolución de información sobre un idioma en particular:
EXEC sp_helplanguage Swedish;
Resultado (usando salida 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
Y esto es lo que haría si desea que se devuelvan todos los idiomas:
EXEC sp_helplanguage;
En SQL Server 2017, esto devuelve 34 idiomas con su información asociada (una lista bastante larga). Afortunadamente, anteriormente creé un artículo separado que enumera los 34 idiomas y sus formatos de fecha en SQL Server 2017.