sql >> Databasteknik >  >> RDS >> Sqlserver

Skaffa språket som för närvarande används i SQL Server

Det finns flera sätt att få det språk som för närvarande används i SQL Server.

Språket för den aktuella sessionen kommer ofta att vara standardspråket för inloggningen, men detta är inte nödvändigtvis alltid fallet. En användare kan ändra det aktuella språket under sessionen.

Vissa av SQL Servers inbyggda funktioner accepterar också ett argument som låter dig ange ett språk för den specifika frågan.

Den här artikeln visar hur du returnerar språket som används för närvarande.

@@LANGUAGE

@@LANGUAGE konfigurationsfunktionen är gjord specifikt för att returnera namnet på det språk som för närvarande används.

Här är ett exempel på användning.

SELECT @@LANGUAGE;

Resultat:

us_english

Detta är standardspråket för min inloggning.

Här är ett exempel på att byta språk under min session och sedan köra @@LANGUAGE igen.

SET LANGUAGE British;
SELECT @@LANGUAGE;

Resultat:

British

DBCC ANVÄNDAROPTIONER

DBCC USEROPTIONS låter dig också få språket som används för närvarande, tillsammans med några andra konfigurationsalternativ.

DBCC USEROPTIONS;

Resultat:

+-------------------------+----------------+
 | 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 |
 +-------------------------+----------------+  

Jag körde den frågan omedelbart efter det föregående exemplet och därför returnerar den fortfarande brittiskt som språk.

Observera också att språket implicit påverkar dateformat och datefirst värden. Standardvärdena för dessa värden när du använder us_English är mdy och 7 respektive.

Om jag ändrar språket tillbaka till us_English och kör DBCC USEROPTIONS igen ser du att dateformat och datefirst inställningarna återgår till US-format.

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 |
 +-------------------------+----------------+ 

Du kan dock alltid ställa in datumformatet separat till språket om du behöver.

sys.dm_exec_requests

sys.dm_exec_requests Med view kan du hämta språket för en specifik användarprocess. I det här fallet kan vi använda @@SPID för att ange den aktuella användarprocessen.

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

Resultat:

us_english

  1. Hur Setseed() fungerar i PostgreSQL

  2. Hur beräknar man ett exponentiellt glidande medelvärde på postgres?

  3. Installera PostgreSQL på Ubuntu för Ruby on Rails

  4. Hur du säkerhetskopierar din Chamilo LMS MySQL-databas