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

Ändern Sie die Standardsprache einer Anmeldung in SQL Server

In SQL Server können Sie den ALTER LOGIN verwenden -Anweisung, um die Standardsprache für eine bestimmte Anmeldung zu ändern.

Dadurch wird sichergestellt, dass jedes Mal, wenn diese Anmeldung eine Verbindung zu SQL Server herstellt, alle Datums-/Uhrzeitformate und Systemmeldungen im richtigen Format und in der richtigen Sprache angezeigt werden.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

ALTER LOGIN Bart
  WITH DEFAULT_LANGUAGE = German;

Dies ändert die Sprache für die Bart Login auf Deutsch.

Eigentlich ist Deutsch nur der Alias. Der eigentliche Name der Sprache ist Deutsch. Sie können also den Namen oder den Alias ​​mit dieser Anweisung verwenden.

Wenn sich Bart jetzt anmeldet und die folgende Anweisung ausführt, erhält er Deutsch als seine Sprache.

SELECT @@LANGUAGE;

Ergebnis:

Deutsch

Datumsformate

Das Ändern der Standardsprache der Anmeldung ändert auch die Art und Weise, wie Datums-/Uhrzeitwerte formatiert werden.

Folgendes passiert beispielsweise, wenn Bart die folgende Abfrage ausführt.

SELECT FORMAT(GETDATE(), 'd');

Ergebnis:

30.03.2020

Diese Funktion gibt das Datum in einem der Sprache Deutsch/German entsprechenden Format aus.

Bart hat jedoch die Möglichkeit, diese Einstellungen zu überschreiben.

Standardsprache überschreiben

Beachten Sie, dass Bart seine Standardsprache innerhalb seiner Sitzung immer noch überschreiben kann, indem er SET LANGUAGE verwendet .

SET LANGUAGE Spanish;

Ergebnis:

Se cambió la configuración de idioma a Español. 

Bei manchen Abfragen kann er auch explizit eine Sprache setzen, etwa bei der Verwendung von FORMAT() Funktion oder die PARSE() Funktion zum Formatieren von Datums-/Uhrzeitwerten. Diese Funktionen akzeptieren ein optionales „Kultur“-Argument, mit dem Sie die Sprache angeben können, die zum Formatieren der Ausgabe verwendet werden soll.

Hier ist dieselbe Abfrage aus dem vorherigen Beispiel, aber dieses Mal fügt Bart ein drittes Argument hinzu, das eine andere Sprache für die Ausgabe angibt.

SELECT 
  FORMAT(GETDATE(), 'd') AS [Default],
  FORMAT(GETDATE(), 'd', 'en-US') AS [en-US];

Ergebnis:

+------------+-----------+
 | Default    | en-US     |
 |------------+-----------|
 | 30.03.2020 | 3/30/2020 |
 +------------+-----------+