ROUND (間隔)

目的

ROUND(interval)は、2番目の引数の書式モデルfmtで指定された単位に切り上げられた間隔を返します。

INTERVAL YEAR TO MONTHの場合、fmtでは年のみが指定できます。デフォルトのfmtは年です。

INTERVAL DAY TO SECONDの場合、fmtでは日、時および分を指定できます。デフォルトのfmtは日です。fmtは秒をサポートしていない点に注意してください。

ROUND(interval)は、次に示すように、fmtの次の部分の中間値で切り上げます。

  • fmtが年の場合、ROUND(interval)は月の中間値である6で切り上げられます。

  • fmtが日の場合、ROUND(interval)は時の中間値である12で切り上げられます。

  • fmtが時の場合、ROUND(interval)は分の中間値である30で切り上げられます。

  • fmtが分の場合、ROUND(interval)は秒の中間値である30で切り上げられます。

ROUND(interval)にはオーバーフローが発生する可能性があるため、年と日の結果精度は入力精度の年と日にそれぞれ1を加えたものになります。すでに間隔が年と日の最大精度になっている場合、この文はコンパイルされますが実行時にエラーになります。

関連項目:

fmtで使用できる書式モデルについては、「CEIL、FLOOR、ROUNDおよびTRUNC日付ファンクション」を参照してください。

SELECT ROUND(INTERVAL '+123-06' YEAR(3) TO MONTH) AS year_round;

YEAR_ROUND
----------
+124-00
SELECT ROUND(INTERVAL '+99-11' YEAR(2) TO MONTH, 'YEAR') AS year_round;

YEAR_ROUND
----------
+100-00
SELECT ROUND(INTERVAL '-999999999-11' YEAR(9) TO MONTH, 'YEAR')AS year_round;

ORA-01873: the leading precision of the interval is too small
SELECT ROUND(INTERVAL '+4 12:42:10.222' DAY(2) TO SECOND(3), 'DD') AS day_round;

DAY_ROUND
-------------------
+05 00:00:00.000000