SQLServerで現在使用されている言語を取得する方法はいくつかあります。
多くの場合、現在のセッションの言語がログインのデフォルト言語になりますが、必ずしもそうとは限りません。ユーザーは、セッション中に現在の言語を変更できます。
また、SQL Serverの組み込み関数の一部は、その特定のクエリの言語を指定できる引数を受け入れます。
この記事では、現在使用されている言語を返す方法を説明します。
@@ LANGUAGE
@@LANGUAGE
構成関数は、現在使用されている言語の名前を返すために特別に作成されています。
使用例を次に示します。
SELECT @@LANGUAGE;
結果:
us_english
これは私のログインのデフォルト言語です。
セッション中に言語を変更してから、@@LANGUAGE
を実行する例を次に示します。 もう一度。
SET LANGUAGE British;
SELECT @@LANGUAGE;
結果:
British
DBCCユーザーオプション
DBCC USEROPTIONS
また、他のいくつかの構成オプションとともに、現在使用されている言語を取得することもできます。
DBCC USEROPTIONS;
結果:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | British | | dateformat | dmy | | datefirst | 1 | | 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 | +-------------------------+----------------+
前の例の直後にそのクエリを実行したので、言語として英国が返されます。
また、言語が暗黙的にdateformat
に影響を与えることにも注意してください およびdatefirst
値。 us_english
を使用する場合のこれらの値のデフォルト値 mdy
です および7
それぞれ。
言語をus_English
に戻すと DBCC USEROPTIONS
を実行します ここでも、dateformat
およびdatefirst
設定はUS形式に戻ります。
SET LANGUAGE us_English; ....... DBCC USEROPTIONS; Time: 0.740s Changed language setting to us_english. +-------------------------+----------------+ | 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 | +-------------------------+----------------+
ただし、必要に応じて、いつでも日付形式を言語ごとに個別に設定できます。
sys.dm_exec_requests
sys.dm_exec_requests
ビューを使用すると、特定のユーザープロセスの言語を取得できます。この場合、@@SPID
を使用できます 現在のユーザープロセスを指定します。
SELECT r.language
FROM master.sys.dm_exec_requests r
WHERE r.session_id = @@SPID;
結果:
us_english