Когато се създаде ново влизане в SQL Server, му се присвоява език по подразбиране. Този език се използва за системни съобщения и формати за дата/час. Този език ще се използва като език по подразбиране, когато това влизане се свърже със SQL Server (но може също да бъде променен на различен език в рамките на сесията).
Ако някога искате да разберете езика, който е назначен на текущата сесия, можете да стартирате една от опциите на тази страница.
Опция 1:Функцията за конфигуриране на @@LANGUAGE
Първата опция за получаване на езика на текущата сесия е да използвате @@LANGUAGE
скаларна функция. Просто го използвайте като част от SELECT
изявление.
Като това:
SELECT @@LANGUAGE;
Резултат:
us_english
Опция 2:Командата DBCC USEROPTIONS
Можете също да стартирате 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
Тази опция е малко по-различна от предишните две опции, тъй като този системен изглед връща информация на ниво индивидуална заявка (връща информация за всяка заявка, която се изпълнява в 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()
функцията ви позволява да зададете култура, която да използвате за заявката (или дори част от заявката), която определя как е форматиран даден низ (за пример вижте Как да конвертирате низ в дата/час в SQL Server с помощта на PARSE( )).
Езикът по подразбиране
Имайте предвид, че потребителят може също да има език по подразбиране, който е различен от текущия език. Ако използват SET LANGUAGE
изявление за промяна на друг език, техният език по подразбиране ще остане като техен език по подразбиране, въпреки че езикът на текущата сесия е променен.
За да намерите езика по подразбиране за потребител/вход/роля, вижте Как да намерите езика по подразбиране на потребителя в SQL Server (T-SQL).