Es gibt mehrere Möglichkeiten, die aktuell in SQL Server verwendete Sprache abzurufen.
Die Sprache der aktuellen Sitzung wird oft die Standardsprache für die Anmeldung sein, aber das muss nicht immer der Fall sein. Ein Benutzer kann die aktuelle Sprache während der Sitzung ändern.
Außerdem akzeptieren einige der integrierten Funktionen von SQL Server ein Argument, mit dem Sie eine Sprache für diese bestimmte Abfrage angeben können.
Dieser Artikel zeigt Ihnen, wie Sie die aktuell verwendete Sprache zurückgeben.
@@SPRACHE
Der @@LANGUAGE
Die Konfigurationsfunktion wurde speziell für die Rückgabe des Namens der aktuell verwendeten Sprache erstellt.
Hier ist ein Anwendungsbeispiel.
SELECT @@LANGUAGE;
Ergebnis:
us_english
Dies ist die Standardsprache für mein Login.
Hier ist ein Beispiel für das Ändern der Sprache während meiner Sitzung und das anschließende Ausführen von @@LANGUAGE
nochmal.
SET LANGUAGE British;
SELECT @@LANGUAGE;
Ergebnis:
British
DBCC-BENUTZEROPTIONEN
Die DBCC USEROPTIONS
ermöglicht Ihnen auch, die aktuell verwendete Sprache zusammen mit einigen anderen Konfigurationsoptionen abzurufen.
DBCC USEROPTIONS;
Ergebnis:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
Ich habe diese Abfrage unmittelbar nach dem vorherigen Beispiel ausgeführt und gibt immer noch Britisch als Sprache zurück.
Beachten Sie auch, dass die Sprache implizit das dateformat
beeinflusst und datefirst
Werte. Die Standardwerte für diese Werte bei Verwendung von us_english
ist mdy
und 7
bzw..
Wenn ich die Sprache wieder auf us_English
ändere und führen Sie DBCC USEROPTIONS
aus Auch hier sehen Sie das dateformat
und datefirst
Einstellungen werden auf das US-Format zurückgesetzt.
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 | +-------------------------+----------------+
Sie können das Datumsformat jedoch bei Bedarf immer getrennt von der Sprache einstellen.
sys.dm_exec_requests
Die sys.dm_exec_requests
view ermöglicht es Ihnen, die Sprache für einen bestimmten Benutzerprozess abzurufen. In diesem Fall können wir @@SPID
verwenden um den aktuellen Benutzerprozess anzugeben.
SELECT r.language
FROM master.sys.dm_exec_requests r
WHERE r.session_id = @@SPID;
Ergebnis:
us_english