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

SQL Server(T-SQL)で現在のセッションの言語を取得する3つの方法

    SQL Serverで新しいログインが作成されると、デフォルトの言語が割り当てられます。この言語は、システムメッセージおよび日付/時刻形式に使用されます。この言語は、ログインがSQL Serverに接続するたびにデフォルトの言語として使用されます(ただし、セッション内で別の言語に変更することもできます)。

    現在のセッションに割り当てられている言語を知りたい場合は、このページのオプションの1つを実行できます。

    オプション1:@@LANGUAGE構成関数

    現在のセッションの言語を取得するための最初のオプションは、@@LANGUAGEを使用することです。 スカラー関数。 SELECTの一部として使用するだけです ステートメント。

    このように:

    SELECT @@LANGUAGE;

    結果:

    us_english

    オプション2:DBCCUSEROPTIONSコマンド

    DBCC USEROPTIONSを実行することもできます 現在の言語と、現在の接続の他のオプションを返します。

    このように:

    DBCC USEROPTIONS;

    結果:

    +-------------------------+----------------+
    | Set Option              | Value          |
    |-------------------------+----------------|
    | textsize                | -1             |
    | language                | us_english     |
    | dateformat              | mdy            |
    | datefirst               | 7              |
    | lock_timeout            | 5000           |
    | quoted_identifier       | SET            |
    | arithabort              | SET            |
    | ansi_null_dflt_on       | SET            |
    | ansi_warnings           | SET            |
    | ansi_padding            | SET            |
    | ansi_nulls              | SET            |
    | concat_null_yields_null | SET            |
    | isolation level         | read committed |
    +-------------------------+----------------+
    >

    オプション3:sys.dm_exec_requestsビュー

    このオプションは、このシステムビューが個々のリクエストレベルで情報を返すという点で、前の2つのオプションとは少し異なります(SQL Serverで実行されている各リクエストに関する情報を返します)。現在のリクエスト(SELECTになります)に絞り込むことができます ビューをクエリするためのステートメント)。

    このビューは比較的多数の列を返すため、言語のみに関心がある場合は、その列だけを選択できます。

    現在のユーザープロセスで使用されている言語を返す方法は次のとおりです。

    SELECT r.language
    FROM master.sys.dm_exec_requests r
    WHERE r.session_id = @@SPID;
    

    結果:

    +------------+
    | language   |
    |------------|
    | us_english |
    +------------+
    

    現在のセッションの言語はいつでも変更できます。方法については、SQL Server(T-SQL)で現在の言語を設定する方法を参照してください。

    また、一部の組み込みT-SQL関数は、特定のクエリレベルで使用される言語/カルチャを指定する引数を受け入れることに注意してください。たとえば、PARSE() 関数を使用すると、特定の文字列のフォーマット方法を指定するクエリ(またはクエリの一部)に使用するカルチャを指定できます(たとえば、PARSE(を使用してSQLServerで文字列を日付/時刻に変換する方法を参照) ))。

    デフォルトの言語

    ユーザーは、現在の言語とは異なるデフォルト言語を持つこともできることに注意してください。 SET LANGUAGEを使用する場合 別の言語に変更するステートメントの場合、現在のセッションの言語が変更されても、デフォルトの言語はデフォルトの言語のままになります。

    ユーザー/ログイン/ロールのデフォルト言語を見つけるには、SQL Server(T-SQL)でユーザーのデフォルト言語を見つける方法を参照してください。


    1. MySQLのタイムゾーンを設定するにはどうすればよいですか?

    2. MariaDBでのREPEAT()のしくみ

    3. SQLServer2017でビューを作成する

    4. sql地理からdbgeographyへ?