Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
TIMESTAMP を操作するか、2 つの TIMESTAMP 値の間の分数を返します。次の「備考」の項を参照してください。
MINUTES( timestamp-expression )
MINUTES( timestamp-expression, timestamp-expression )
MINUTES( timestamp-or-time-expression, integer-expression )
timestamp-expression TIMESTAMP データ型の式。
timestamp-or-time-expression TIME または TIMESTAMP データ型の式。
integer-expression timestamp-or-time-expression に加算される分数。integer-expression が負の場合、timestamp-or-time-expression から適切な分数が引かれます。
構文 1 または構文 2 では INTEGER。
構文 3 では TIME または TIMESTAMP。
MINUTES 関数の結果は、その引数によって異なります。
構文 1 1 つの timestamp-expression を MINUTES 関数に渡すと、0000-02-29 の真夜中から timestamp-expression までの分数を INTEGER として返します。
0000-02-29 は実際の日付を指すための値ではありません。MINUTES 関数で使用されるデフォルトの日付です。
構文 2 2 つの TIMESTAMP 値を MINUTES 関数に渡すと、その間の分数を整数で返します。
構文 3 TIMESTAMP 値と INTEGER 値を MINUTES 関数に渡すと、整数の分数を timestamp-expression 引数に加算した TIMESTAMP 結果を返します。同様に、MINUTES の最初の引数が TIME 値の場合は、結果も TIME 値になります。構文 3 では、最初の引数の暗黙的変換をサポートしていません。最初の引数を DATE、TIME または TIMESTAMP の値に明示的にキャストしてください。最初の引数が DATE データ型の場合、時刻部分には真夜中が使用されます。
MINUTES は整数を返すので、構文 1 で 4083-03-23 02:08:00 以上の TIMESTAMP 値を使用すると、オーバーフローが起こる場合があります。
構文 2 の代わりに、DATEDIFF 関数を使用します。構文 3 の代わりに、DATEADD 関数を使用します。
SQL/2008 ベンダー拡張。
次の文は、値 240 を返します。これは、2 番目の TIMESTAMP 値が、最初のタイムスタンプの 240 分後であることを示します。2 つ目の例 (DATEDIFF) の使用をおすすめします。
SELECT MINUTES( '1999-07-13 06:07:12', '1999-07-13 10:07:12' ); SELECT DATEDIFF( minute, '1999-07-13 06:07:12', '1999-07-13 10:07:12' );
次の文は、値 1051040527 を返します。
SELECT MINUTES( '1998-07-13 06:07:12' );
次の文は、TIMESTAMP 値 1999-05-12 21:10:07.000 を返します。最初の文では、リテラル文字列パラメータの明示的なキャストが必要です。2 つ目の例 (DATEADD) の使用をおすすめします。
SELECT MINUTES( CAST( '1999-05-12 21:05:07' AS TIMESTAMP ), 5); SELECT DATEADD( minute, 5, '1999-05-12 21:05:07' );
次の文は 'TIME' を返します。TIME 引数を指定して MINUTES 関数が呼び出された場合に、TIME 値を返すことを示します。
SELECT EXPRTYPE('SELECT MINUTES( CAST( ''13:45:00.000'' AS TIME ), 16 )', 1);