次の方法で共有


DATETIMEOFFSETFROMPARTS (Transact-SQL)

指定されたオフセットおよび有効桁数を使用して、指定された日付と時刻を表す datetimeoffset 値を返します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )

引数

  • year
    年を指定する整数式。

  • month
    月を指定する整数式。

  • day
    日を指定する整数式。

  • hour
    時間を指定する整数式。

  • minute
    分を指定する整数式。

  • seconds
    秒を指定する整数式。

  • fractions
    小数部分を指定する整数式。

  • hour_offset
    タイム ゾーン オフセットの時間部分を指定する整数式。

  • minute_offset
    タイム ゾーン オフセットの分部分を指定する整数式。

  • precision
    返される datetimeoffset 値の有効桁数を指定する整数リテラル。

戻り値の型

datetimeoffset ( precision )

説明

DATETIMEOFFSETFROMPARTS は、完全に初期化された datetimeoffset データ型を返します。 オフセットの引数は、タイム ゾーン オフセットを表すために使用します。 オフセット引数を省略した場合、タイム ゾーン オフセットは 00:00 と見なされ、タイム ゾーン オフセットはありません。 オフセット引数を指定する場合、両方の引数が存在し、両方とも正または負である必要があります。 hour_offset を指定しないで minute_offset を指定した場合、エラーが発生します。 他の引数が有効でない場合は、エラーが発生します。 必要な引数が NULL の場合は、NULL が返されます。 ただし、precision 引数が NULL の場合は、エラーが発生します。

fractions 引数は precision 引数に依存します。 たとえば、precision が 7 の場合、小数部分はそれぞれ 100 ナノ秒を表します。precision が 3 の場合、小数部分はそれぞれ 1 ミリ秒を表します。 precision の値がゼロの場合、fractions の値もゼロにする必要があります。そうでない場合は、エラーが発生します。

この関数は、SQL Server 2012 以上のサーバーに対してリモート処理が可能です。 SQL Server 2012 より前のバージョンをインストールしているサーバーには、リモート処理が行われません。

使用例

A. 秒の小数部を使用しない場合の簡単な例

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

以下に結果セットを示します。

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(1 row(s) affected)

B. 秒の小数部を使用する場合の例

以下の例は、fractions パラメーターと precision パラメーターの使用方法を示しています。

  1. fractions の値が 5 で precision の値が 1 の場合、fractions の値は 1 秒の 5/10 を表します。

  2. fractions の値が 50 で precision の値が 2 の場合、fractions の値は 1 秒の 50/100 を表します。

  3. fractions の値が 500 で precision の値が 3 の場合、fractions の値は 1 秒の 500/1000 を表します。

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

以下に結果セットを示します。

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

関連項目

参照

datetimeoffset (Transact-SQL)