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
