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

Вземете езика, който в момента се използва в SQL Server

Има няколко начина да получите езика, който в момента се използва в SQL Server.

Езикът на текущата сесия често ще бъде езикът по подразбиране за влизане, но това не винаги е така. Потребителят може да промени текущия език по време на сесията.

Освен това някои от вградените функции на SQL Server приемат аргумент, който ви позволява да посочите език за тази конкретна заявка.

Тази статия ви показва как да върнете езика, който се използва в момента.

@@ЕЗИК

@@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 настройките се връщат към американски формат.

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 view ви позволява да извлечете езика за конкретен потребителски процес. В този случай можем да използваме @@SPID за да посочите текущия потребителски процес.

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

Резултат:

us_english

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поправете съобщение 241 „Преобразуването не бе успешно при преобразуване на дата и/или час от низ от знаци“ в SQL Server

  2. T-SQL - Вмъкване на данни в родителски и дъщерни таблици

  3. Как да се покаже дата в немски формат в SQL Server (T-SQL)

  4. SQL Server:Как да получите справка за външен ключ от information_schema?

  5. Как да инсталирате sqlcmd &bcp на Ubuntu