Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

3 Möglichkeiten zum Abrufen der Sprache der aktuellen Sitzung in SQL Server (T-SQL)

Wenn eine neue Anmeldung in SQL Server erstellt wird, wird ihr eine Standardsprache zugewiesen. Diese Sprache wird für Systemmeldungen und Datums-/Zeitformate verwendet. Diese Sprache wird immer dann als Standardsprache verwendet, wenn sich diese Anmeldung mit SQL Server verbindet (sie kann jedoch auch innerhalb der Sitzung auf eine andere Sprache geändert werden).

Wenn Sie jemals herausfinden möchten, welche Sprache der aktuellen Sitzung zugewiesen ist, können Sie eine der Optionen auf dieser Seite ausführen.

Option 1:Die @@LANGUAGE-Konfigurationsfunktion

Die erste Option zum Abrufen der Sprache der aktuellen Sitzung ist die Verwendung von @@LANGUAGE Skalarfunktion. Verwenden Sie es einfach als Teil eines SELECT Aussage.

So:

SELECT @@LANGUAGE;

Ergebnis:

us_english

Option 2:Der DBCC USEROPTIONS-Befehl

Sie können auch DBCC USEROPTIONS ausführen um die aktuelle Sprache sowie andere Optionen für die aktuelle Verbindung zurückzugeben.

So:

DBCC USEROPTIONS;

Ergebnis:

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

Option 3:Die  sys.dm_exec_requests-Ansicht

Diese Option unterscheidet sich ein wenig von den beiden vorherigen Optionen, da diese Systemansicht Informationen auf der individuellen Anforderungsebene zurückgibt (sie gibt Informationen zu jeder Anforderung zurück, die in SQL Server ausgeführt wird). Sie können es auf die aktuelle Anfrage eingrenzen (das ist die SELECT Anweisung, mit der Sie die Ansicht abfragen).

Diese Ansicht gibt eine relativ große Anzahl von Spalten zurück. Wenn Sie also nur an der Sprache interessiert sind, können Sie nur diese Spalte auswählen.

So geben Sie die im aktuellen Benutzerprozess verwendete Sprache zurück:

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

Ergebnis:

+------------+
| language   |
|------------|
| us_english |
+------------+

Sie können die Sprache für die aktuelle Sitzung jederzeit ändern. Informationen zur Vorgehensweise finden Sie unter Festlegen der aktuellen Sprache in SQL Server (T-SQL).

Beachten Sie auch, dass einige integrierte T-SQL-Funktionen Argumente akzeptieren, um die Sprache/Kultur anzugeben, die auf der spezifischen Abfrageebene verwendet werden soll. Zum Beispiel PARSE() Mit der Funktion können Sie eine Kultur angeben, die für die Abfrage (oder sogar einen Teil der Abfrage) verwendet werden soll, die angibt, wie die angegebene Zeichenfolge formatiert ist (ein Beispiel finden Sie unter How to Convert a String to a Date/Time in SQL Server using PARSE( )).

Die Standardsprache

Beachten Sie, dass ein Benutzer auch eine Standardsprache haben kann, die sich von der aktuellen Sprache unterscheidet. Wenn sie die SET LANGUAGE verwenden Anweisung, zu einer anderen Sprache zu wechseln, bleibt ihre Standardsprache ihre Standardsprache, auch wenn sich die Sprache der aktuellen Sitzung geändert hat.

Informationen zum Ermitteln der Standardsprache für einen Benutzer/eine Anmeldung/eine Rolle finden Sie unter So finden Sie die Standardsprache eines Benutzers in SQL Server (T-SQL).