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