SQL Serverに接続するたびに、一連のデフォルト設定がセッションに適用されます。これらには、言語と日付形式の設定が含まれます。
日付形式は通常、デフォルトの言語によって決定されます。たとえば、デフォルトの言語がus_english
の場合 、その場合、デフォルトの日付形式はおそらくmdy
になります 、および週の最初の日は日7
になります (日曜日)。
言語を変更すると、それに応じて日付形式が暗黙的に更新されます。
ただし、言語を変更せずに日付形式を変更するオプションは引き続きあります。これを行うには、SET DATEFORMAT
を使用できます 。
例
まず、現在の設定を見てみましょう。
DBCC USEROPTIONS;
結果:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
だから私の現在の言語はus_english
日付形式はmdy
です。 。
日付の形式を変更して、もう一度確認しましょう。
SET DATEFORMAT dmy;
DBCC USEROPTIONS;
結果:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
そのため、言語を変更せずに日付形式を変更することに成功しました。ただし、datefirst
同じまま。 datefirst
を変更する場合 値、SET DATEFIRST
を使用 。
SET DATEFIRST 1;
DBCC USEROPTIONS;
結果:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
この場合、週の最初の日を1日目、つまり月曜日に変更しました。
リセットして戻す
言語を設定すると、dateformat
が暗黙的に設定されます およびdatefirst
設定をその言語のデフォルト値に戻します(言語を現在の言語にリセットした場合でも)。
したがって、私の場合は、言語をus_english
にリセットできます。 、および日付形式の値もリセットされます。
SET LANGUAGE us_English;
DBCC USEROPTIONS;
結果:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+