In SQL Server können Sie SET DATEFIRST
verwenden um den ersten Tag der Woche einzustellen.
Der erste Wochentag kann je nach verwendeter Sprache unterschiedlich sein. Der Standardwert für us_English ist beispielsweise 7 (Sonntag), während der Standardwert für Deutsch (Deutsch) 1 ist (Montag).
Dieser Artikel zeigt, wie man den ersten Tag der Woche ändert, ohne die Sprache zu ändern.
Syntax
Zunächst sieht die Syntax so aus:
SET DATEFIRST { number | @number_var }
Wobei number | @number_var
ist eine Ganzzahl, die den ersten Tag der Woche angibt. Dies ist eine Zahl zwischen 1 und 7.
Die folgende Tabelle zeigt die Zuordnung zwischen der Zahl und dem Wochentag.
Wert | Erster Wochentag ist |
---|---|
1 | Montag |
2 | Dienstag |
3 | Mittwoch |
4 | Donnerstag |
5 | Freitag |
6 | Samstag |
7 | Sonntag |
Also ein Wert von sagen wir 3
, würde Mittwoch als ersten Tag der Woche festlegen.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel, um die Syntax zu demonstrieren.
SET DATEFIRST 1;
Dadurch wird der erste Tag der Woche auf Montag festgelegt (aus dem obigen Diagramm können wir ersehen, dass ein Wert von 1
Karten bis Montag).
Wir können die aktuelle Einstellung anzeigen, indem wir @@DATEFIRST
verwenden um den aktuellen Wert von SET DATEFIRST
zurückzugeben .
SELECT @@DATEFIRST AS 'Result';
Ergebnis:
+----------+ | Result | |----------| | 1 | +----------+
Beispiel 2 – Überschreiben der Spracheinstellung
Dieses Beispiel zeigt, wie der SET DATEFIRST
Einstellung passt zu den Spracheinstellungen.
SET LANGUAGE us_english; SELECT @@LANGUAGE AS 'LANGUAGE Before', @@DATEFIRST AS 'DATEFIRST Before'; SET DATEFIRST 1; SELECT @@LANGUAGE AS 'LANGUAGE After', @@DATEFIRST AS 'DATEFIRST After';
Ergebnis:
+-------------------+--------------------+ | LANGUAGE Before | DATEFIRST Before | |-------------------+--------------------| | us_english | 7 | +-------------------+--------------------+ Changed language setting to us_english. +------------------+-------------------+ | LANGUAGE After | DATEFIRST After | |------------------+-------------------| | us_english | 1 | +------------------+-------------------+
Wir können also sehen, dass die Sprache dieselbe bleibt, aber der erste Tag der Woche sich geändert hat.
Dieses Beispiel verwendet SET LANGUAGE
um die Sprache der aktuellen Sitzung festzulegen (die, wie erwähnt, verwendet wird, um den ersten Tag der Woche zu bestimmen). Die Spracheinstellung legt implizit auch das Datumsformat fest. Bei Bedarf können Sie SET DATEFORMAT
verwenden um diese Einstellung für das Datumsformat zu überschreiben.
Um zu sehen, was DATEFIRST
ist Einstellungen jeder Sprache zugeordnet sind, finden Sie hier eine Liste aller Sprachen und zugehörigen Datumsformate in SQL Server 2017.
Sie können auch die sp_helplanguage
verwenden gespeicherte Prozedur, um diese Liste zurückzugeben. Lesen Sie dazu So finden Sie die Datumsformate, die für eine bestimmte Sprache in SQL Server (T-SQL) verwendet werden.