sql >> データベース >  >> RDS >> Sqlserver

DATETIME2FROMPARTS()SQL Server(T-SQL)の例

    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.


    1. OracleDatabaseで仮想索引を使用する方法

    2. PITRの実行中に、PostgreSQLで一時停止/再開することは可能ですか?

    3. SQLCONVERT日付関数を使用するさまざまな方法

    4. SELECT*存在しない場所