SQL Serverでは、DATETIME2FROMPARTS()
関数はDATETIMEFROMPARTS()
と同様に機能します 関数。ただし、8つの引数を受け入れ、 datetime2を返します。 価値。 DATETIMEFROMPARTS()
一方、関数は7つの引数のみを受け入れ、日時を返します。 値。
基本的に、すべての日付/時刻の部分を指定すると、この関数は datetime2を返します。 提供する部品に基づく値。
構文
まず、構文は次のとおりです。
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )
ここで、最初の7つの引数はそれぞれ、日付のその部分を指定する整数式です。たとえば、year
日付の年の部分を指定する整数です。
8番目の引数は、戻り値の精度を定義できる整数式です。この値は、スケール(つまり、小数点以下の桁数)を指定します。
例
使用例は次のとおりです。
SELECT DATETIME2FROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 4 ) AS Result;
結果:
+--------------------------+ | Result | |--------------------------| | 2021-05-10 23:35:29.0500 | +--------------------------+
無効な値
すべての引数は有効な値である必要があります。たとえば、13の月や61の分の値を指定することはできません。
月の値を13に指定する例を次に示します。
SELECT DATETIME2FROMPARTS( 2021, 13, 10, 23, 35, 29, 500, 4 ) AS Result;
結果:
Cannot construct data type datetime2, some of the arguments have values which are not valid.
引数の数
また、正しい数の引数(8)を指定する必要があります:
SELECT DATETIME2FROMPARTS( 2021, 05, 10 ) AS Result;
結果:
The datetime2fromparts function requires 8 argument(s).
ヌル値
最初の7つの引数のいずれかにnull値を指定すると、結果はNULLになります:
SELECT DATETIME2FROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 4 ) AS Result;
結果:
+----------+ | Result | |----------| | NULL | +----------+
ただし、8番目の引数(精度/スケールを指定する)にnull値を指定すると、エラーが発生します:
SELECT DATETIME2FROMPARTS( 2021, 05, 10, 23, 35, 29, 500, NULL ) AS Result;
結果:
Scale argument is not valid. Valid expressions for data type datetime2 scale argument are integer constants and integer constant expressions.