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

Sådan får du en liste over alle sprog i SQL Server (T-SQL)

Her er et par måder at returnere oplysninger om alle sprog i SQL Server. Den ene metode bruger en systemkompatibilitetsvisning, den anden metode udfører en systemlagret procedure. Begge metoder giver det samme resultat.

syslanguages Systemkompatibilitetsvisning

sys.syslanguages systemkompatibilitetsvisning returnerer oplysninger om alle sprog i SQL Server. Det returnerer information såsom sprognavnet, dets alias, dets datoformat og endda navnene på månederne, korte måneder, dage osv.

Som med enhver visning kan du kun vælge de kolonner, du er interesseret i. Så hvis du bare vil have en liste over sprognavne eller aliasser, kan du vælge netop disse kolonner.

Sådan vælger du alle sprog og deres aliaser i SQL Server:

SELECT name, alias
FROM sys.syslanguages;

Og her er resultatet, jeg får i 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 Systemlagret procedure

Alternativt kan du bruge sp_helplanguage system lagret procedure. Denne lagrede procedure returnerer information om alle sprog i SQL Server, eller om et bestemt sprog, hvis et er angivet.

Det returnerer faktisk sine data fra sys.syslanguages kompatibilitetsvisning nævnt ovenfor.

For at angive et sprog skal du blot overføre sprognavnet eller aliaset til den lagrede procedure, når du kalder det. Hvis der ikke er angivet et sprog, returneres alle sprog.

Her er et eksempel på returnering af oplysninger om et bestemt sprog:

EXEC sp_helplanguage Swedish;

Resultat (ved hjælp af lodret output):

-[ 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

Og her er, hvad du ville gøre, hvis du vil have alle sprog returneret:

EXEC sp_helplanguage;

I SQL Server 2017 returnerer dette 34 sprog med tilhørende information (en ret lang liste). Heldigvis har jeg tidligere oprettet en separat artikel, der viser alle 34 sprog og deres datoformater i SQL Server 2017.


  1. Værten 'xxx.xx.xxx.xxx' har ikke tilladelse til at oprette forbindelse til denne MySQL-server

  2. pgmemcache vs Infinite Cache

  3. Dynamisk alternativ til pivotering med CASE og GROUP BY

  4. PostgreSQL Planet i Ansible Galaxy