sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)ですべての言語のリストを取得する方法

    SQLServerのすべての言語に関する情報を返す方法はいくつかあります。 1つの方法はシステム互換表示を使用し、もう1つの方法はシステムストアドプロシージャを実行します。どちらのメソッドも同じ結果を返します。

    syslanguages システム互換表示

    sys.syslanguages システム互換表示は、SQLServerのすべての言語に関する情報を返します。言語名、エイリアス、日付形式、さらには月、短い月、日などの名前などの情報を返します。

    他のビューと同様に、関心のある列だけを選択できます。したがって、言語名またはエイリアスのリストだけが必要な場合は、それらの列だけを選択できます。

    SQLServerですべての言語とそのエイリアスを選択する方法は次のとおりです。

    SELECT name, alias
    FROM sys.syslanguages;
    

    そして、SQLServer2017で得られた結果は次のとおりです。

    +--------------------+---------------------+
    | 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 システムストアドプロシージャ

    または、sp_helplanguageを使用することもできます システムストアドプロシージャ。このストアドプロシージャは、SQL Serverのすべての言語に関する情報、または指定されている場合は特定の言語に関する情報を返します。

    実際には、sys.syslanguagesからデータを返します。 上記の互換表示。

    言語を指定するには、言語を呼び出すときに、言語名またはエイリアスをストアドプロシージャに渡すだけです。言語が指定されていない場合は、すべての言語が返されます。

    特定の言語に関する情報を返す例を次に示します。

    EXEC sp_helplanguage Swedish;
    

    結果(垂直出力を使用):

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

    そして、すべての言語を返したい場合は、次のようにします。

    EXEC sp_helplanguage;
    

    SQL Server 2017では、これにより34の言語とそれに関連する情報が返されます(非常に長いリスト)。幸い、以前にSQLServer2017の34の言語すべてとその日付形式をリストした別の記事を作成しました。


    1. GI12.2の変更

    2. Oracle After Delete Trigger ...テーブルの変更を回避する方法(ORA-04091)?

    3. OracleApex5.0-静止画像を表示する

    4. Pythonを使用したPostgreSQLデータベースでのINSERTの使用