T-SQLのDATEFROMPARTS()
を使用できます 日付を返すSQLServerの関数 整数式として指定した日付部分にマップする値。
それが機能する方法は、3つの値を提供することです(年ごとに1つ) 、月 、および日 値)、SQLServerは日付を返します 提供する値に基づく値。
以下の例。
構文
まず、構文は次のとおりです。
DATEFROMPARTS ( year, month, day )
各引数は次のようになります。
year
- 年を指定する整数式。
month
- 1から12までの月を指定する整数式。
day
- 日を指定する整数式。
例
使用例は次のとおりです。
SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;
結果:
+------------+ | Result | |------------| | 2021-05-10 | +------------+
無効な値
日付部分が正しい順序で提供されていることを確認する必要があります。そうしないと、エラーが発生する可能性があります。さらに悪いことに、(日の部分が12以下の場合)エラーが発生しない可能性があるため、日付の変換方法に関する大きな問題を見逃す可能性があります。
無効な値の例を次に示します。
SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;
結果:
Cannot construct data type date, some of the arguments have values which are not valid.
これは、月の部分として30を提供したために発生します。この部分は、1〜12の値のみを受け入れます。
ヌル値
引数のいずれかがnull値の場合、結果はNULL
になります。 。
null値を使用した例を次に示します。
SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;
結果:
+----------+ | Result | |----------| | NULL | +----------+
したがって、言うまでもありませんが(とにかく言いますが)、すべての引数がnull値の場合、結果はNULL
になります。 :
SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;
結果:
+----------+ | Result | |----------| | NULL | +----------+