Immer wenn Sie eine Verbindung zu SQL Server herstellen, werden eine Reihe von Standardeinstellungen auf Ihre Sitzung angewendet. Dazu gehören die Sprach- und Datumsformateinstellungen.
Das Datumsformat wird normalerweise von Ihrer Standardsprache bestimmt. Zum Beispiel, wenn Ihre Standardsprache us_english
ist , dann ist das Standarddatumsformat wahrscheinlich mdy
, und der erste Tag der Woche ist der Tag 7
(Sonntag).
Wenn Sie Ihre Sprache ändern, wird das Datumsformat implizit entsprechend aktualisiert.
Sie haben jedoch weiterhin die Möglichkeit, das Datumsformat zu ändern, ohne die Sprache zu ändern. Dazu können Sie SET DATEFORMAT
verwenden .
Beispiel
Werfen wir zunächst einen Blick auf die aktuellen Einstellungen.
DBCC USEROPTIONS;
Ergebnis:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
Meine aktuelle Sprache ist also us_english
und das Datumsformat ist mdy
.
Lassen Sie uns das Datumsformat ändern und erneut überprüfen.
SET DATEFORMAT dmy;
DBCC USEROPTIONS;
Ergebnis:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | dmy | | 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 | +-------------------------+----------------+
Also habe ich das Datumsformat erfolgreich geändert, ohne die Sprache zu ändern. Jedoch datefirst
Bleibt das selbe. Wenn Sie das datefirst
ändern möchten verwenden Sie SET DATEFIRST
.
SET DATEFIRST 1;
DBCC USEROPTIONS;
Ergebnis:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | 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 | +-------------------------+----------------+
In diesem Fall habe ich den ersten Tag der Woche in Tag 1 geändert, also Montag.
Zurücksetzen
Das Einstellen der Sprache setzt implizit das dateformat
und datefirst
Einstellungen auf die Standardwerte für diese Sprache zurücksetzen (auch wenn Sie die Sprache auf die aktuelle Sprache zurücksetzen).
In meinem Fall kann ich also die Sprache auf us_english
zurücksetzen , und es werden auch die Datumsformatwerte zurückgesetzt.
SET LANGUAGE us_English;
DBCC USEROPTIONS;
Ergebnis:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+