Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

3 начина да получите езика на текущата сесия в SQL Server (T-SQL)

Когато се създаде ново влизане в 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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Основи на оператора ALTER TABLE на SQL Server

  2. Въведение в функциите с таблично стойности с множество оператори (MSTVF) в SQL Server

  3. Има ли разлика между SQL Server Express (2012) и LocalDB?

  4. Как да извлека десетични знаци при закръгляване на средна стойност в SQL

  5. Как мога да открия, че заявката за създаване, актуализиране, изтриване е успешна в Codeigniter