SET DATEFORMAT (Transact-SQL)
datetime 型または smalldatetime 型のデータを入力する場合の日付要素 (月、日、年) の順番を設定します。
構文
SET DATEFORMAT { format | @format_var }
引数
- format | **@**format_var
日付要素の順序を指定します。Unicode、または Unicode に変換される DBCS のいずれかを指定できます。有効なパラメータは mdy、dmy、ymd、ydm、myd、dym です。言語設定が英語 (U.S.) の場合、既定値は mdy です。
解説
この設定は、文字列を日付値に変換する際の、文字列の解釈にのみ使用されます。日付値の表示には影響しません。
SET DATEFORMAT は、解析時ではなく実行時に設定されます。
SET DATEFORMAT で設定される日付の形式は、SET LANGUAGE で暗黙的に設定される日付の形式よりも優先されます。
権限
public ロールのメンバシップが必要です。
例
次の例では、異なる日付形式を使用して、異なる形式の日付文字列を処理します。
-- Set date format to month, day, year.
SET DATEFORMAT mdy;
GO
DECLARE @datevar DATETIME;
SET @datevar = '12/31/1998';
SELECT @datevar AS DateVar;
GO
-- Result: 1998-12-31 00:00:00.000
-- Set date format to year, day, month.
SET DATEFORMAT ydm;
GO
DECLARE @datevar DATETIME;
SET @datevar = '1998/31/12';
SELECT @datevar AS DateVar;
GO
-- Result: 1998-12-31 00:00:00.000
-- Set date format to year, month, day.
SET DATEFORMAT ymd;
GO
DECLARE @datevar DATETIME;
SET @datevar = '1998/12/31';
SELECT @datevar AS DateVar;
GO
-- Result: 1998-12-31 00:00:00.000
参照
関連項目
CREATE FUNCTION (Transact-SQL)
データ型 (Transact-SQL)
日付と時刻 (Transact-SQL)
SET (Transact-SQL)