Wanneer een nieuwe login wordt aangemaakt in SQL Server, wordt er een standaardtaal aan toegewezen. Deze taal wordt gebruikt voor systeemberichten en datum-/tijdnotaties. Deze taal wordt gebruikt als de standaardtaal wanneer die login verbinding maakt met SQL Server (maar het kan ook worden gewijzigd in een andere taal binnen de sessie).
Als je ooit de taal wilt weten die aan de huidige sessie is toegewezen, kun je een van de opties op deze pagina gebruiken.
Optie 1:De @@LANGUAGE-configuratiefunctie
De eerste optie om de taal van de huidige sessie op te halen, is door de @@LANGUAGE
. te gebruiken scalaire functie. Gebruik het gewoon als onderdeel van een SELECT
verklaring.
Zoals dit:
SELECT @@LANGUAGE;
Resultaat:
us_english
Optie 2:Het DBCC USEROPTIONS-commando
U kunt ook DBCC USEROPTIONS
. uitvoeren om de huidige taal terug te geven, evenals andere opties voor de huidige verbinding.
Zoals dit:
DBCC USEROPTIONS;
Resultaat:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
Optie 3:De sys.dm_exec_requests-weergave
Deze optie is een beetje anders dan de vorige twee opties, omdat deze systeemweergave informatie retourneert op het individuele aanvraagniveau (het retourneert informatie over elke aanvraag die wordt uitgevoerd in SQL Server). Je kunt het beperken tot het huidige verzoek (dat is de SELECT
statement waarmee u de weergave opvraagt).
Deze weergave retourneert een relatief groot aantal kolommen, dus als u alleen geïnteresseerd bent in de taal, kunt u alleen die kolom selecteren.
U kunt als volgt de taal teruggeven die in het huidige gebruikersproces wordt gebruikt:
SELECT r.language FROM master.sys.dm_exec_requests r WHERE r.session_id = @@SPID;
Resultaat:
+------------+ | language | |------------| | us_english | +------------+
U kunt de taal voor de huidige sessie altijd wijzigen. Zie voor meer informatie over het instellen van de huidige taal in SQL Server (T-SQL).
Merk ook op dat sommige ingebouwde T-SQL-functies argumenten accepteren om de taal/cultuur te specificeren die op het specifieke queryniveau moet worden gebruikt. Bijvoorbeeld de PARSE()
Met de functie kunt u een cultuur specificeren die moet worden gebruikt voor de query (of zelfs een deel van de query) die aangeeft hoe de gegeven tekenreeks is opgemaakt (zie bijvoorbeeld Hoe u een tekenreeks naar een datum/tijd in SQL Server converteert met PARSE( )).
De standaardtaal
Merk op dat een gebruiker ook een standaardtaal kan hebben die afwijkt van de huidige taal. Als ze de SET LANGUAGE
. gebruiken statement om naar een andere taal te veranderen, blijft hun standaardtaal hun standaardtaal, ook al is de taal van de huidige sessie gewijzigd.
Zie De standaardtaal van een gebruiker vinden in SQL Server (T-SQL) om de standaardtaal voor een gebruiker/login/rol te vinden.