説明
この関数は、パラメータ fmt を単位として、指定された日付 date に最も近い日時値を返します。これは、グレゴリオ暦のルールに基づいて計算されます。
構文
ROUND(date,[fmt])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| date | DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE を含む、日付を含むすべてのデータ型の値。 |
| fmt | 関数の戻り値と date の間隔単位を指定します。オプションです。fmt を省略した場合、date は最も近い日に丸められます。 |
次の表は、fmt パラメータの許容値を示しています(大文字と小文字は区別されません)。
| fmt 値 | 説明 |
|---|---|
| j | デフォルト値。最新の 0 時点の日付です。 |
| day、dy、d | 指定された日付に最も近い日曜日を返します。 |
| month、mon、mm、rm | 指定された日付に最も近い月の1日目の日付を返します。 |
| q | 指定された日付に最も近い四半期の日付を返します。 |
| syear、year、yyyy、yyy、yy、y | 複数の y は異なる精度を表し、指定された日付に最も近い年の最初の日付を返します。 |
| cc、scc | 指定された日付に最も近い世紀の初日の日付を返します。 |
戻り値の型
DATE データ型を返します。
例
現在の日付から最も近い0時の日付、日曜日、月初め、四半期初め、年始の日付を返します。
obclient> SELECT SYSDATE 現在の日付,
ROUND(SYSDATE) 最近の0時の日付,
ROUND(SYSDATE,'DAY') 最近の日曜日,
ROUND(SYSDATE,'MONTH') 最近の月初め,
ROUND(SYSDATE,'Q') 最近の四半期初めの日付,
ROUND(SYSDATE,'YEAR') 最近の年始の日付
FROM DUAL;
+--------------+------------------+-----------------+--------------+--------------------+--------------------+
| 当时日期 | 最近0点日期 | 最近星期日 | 最近月初 | 最近季初日期 | 最近年初日期 |
+--------------+------------------+-----------------+--------------+--------------------+--------------------+
| 18-NOV-21 | 18-NOV-21 | 21-NOV-21 | 01-DEC-21 | 01-JAN-22 | 01-JAN-22 |
+--------------+------------------+-----------------+--------------+--------------------+--------------------+
1 row in set