Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
TIMESTAMP を操作するか、2 つの TIMESTAMP 値の間の日数を返します。詳細については、以下の「備考」の項を参照してください。
DAYS( timestamp-expression )
DAYS( timestamp-expression, timestamp-expression )
DAYS( timestamp-expression, integer-expression )
timestamp-expression TIMESTAMP 値。
integer-expression timestamp-expression に加算される日数。integer-expression が負の場合、timestamp-expression. から適切な日数が引かれます。整数式を指定する場合は、timestamp-expression を TIME、DATE または TIMESTAMP として明示的にキャストしてください。timestamp-expression が TIME 値の場合、現在の日付が使用されます。
データ型のキャストの詳細については、CAST 関数 [データ型変換]を参照してください。
構文 1 または構文 2 では INTEGER。
構文 3 では TIMESTAMP。
DAYS 関数の結果は、その引数によって異なります。DAYS 関数では、引数内の時間、分、および秒は無視されます。
構文 1 1 つの timestamp-expression を DAYS 関数に渡すと、0000-02-29 から timestamp-expression までの日数を INTEGER として返します。
0000-02-29 は実際の日付を指すための値ではありません。DAYS 関数で使用されるデフォルトの日付です。
構文 2 2 つの TIMESTAMP 値を DAYS 関数に渡すと、その間の日数を整数で返します。
構文 3 TIMESTAMP 値と整数を DAYS 関数に渡すと、整数値を timestamp-expression 引数に加算した TIMESTAMP 結果を返します。
構文 2 の代わりに、DATEDIFF 関数を使用します。構文 3 の代わりに、DATEADD 関数を使用します。
次の文は、整数 729889 を返します。
SELECT DAYS( '1998-07-13 06:07:12' );
次の文は、整数値 -366 を返します。このことは、2 番目の DATE 値が最初の日付より 366 日前の日付であることを示します。2 つ目の例 (DATEDIFF) の使用をおすすめします。
SELECT DAYS( '1998-07-13 06:07:12', '1997-07-12 10:07:12' );
SELECT DATEDIFF( day, '1998-07-13 06:07:12', '1997-07-12 10:07:12' );
次の文は、TIMESTAMP 値 1999-07-14 00:00:00.000 を返します。2 つ目の例 (DATEADD) の使用をおすすめします。
SELECT DAYS( CAST('1998-07-13' AS DATE ), 366 );
SELECT DATEADD( day, 366, '1998-07-13' );