説明
この関数は、パラメータ 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