ROUND
📄字数 579
👁️阅读量 加载中...
功能描述
对输入的日期按规则修约,可以指定取舍的年月日。
语法格式
sql
ROUND(expr1[,expr2])
输入参数
expr1
:输入值,数据类型为所有的时间类型。expr2
:可选参数,CHAR
类型。
提示
- 因
NULL
无具体的类型,所以当expr1
为NULL
时且只有一个参数,会产生异常E10100 候选函数出现多义性
,需要手动为参数指定具体的类型,如:ROUND(NULL::DATE)
。
输出结果
输出结果和输入参数expr1
类型保持一致,任意输入参数为NULL
,输出结果为NULL
。
根据输入参数,输出结果如下表所示:
参数1 | 参数2 | 输出结果 |
---|---|---|
TIME 类类型 | - | 输入的日期大于500毫秒舍入,小于等于500毫秒截断 |
DATE 类类型 | - | 输入的日期按当天截断 |
所有日期类型 | 'D' ,'d' | 输入的日期按当天截断 |
所有日期类型 | 'MINUTE' ,'minute' | 输入的日期大于30秒舍入,小于等于30秒前截断 |
所有日期类型 | 'Y' ,'y' | 输入的日期大于6月30日舍入,小于等于6月30日截断 |
所有日期类型 | 'M' ,'m' | 输入的日期大于15天舍入,小于等于15天截断 |
所有日期类型 | 'H' ,'h' | 输入的日期大于30分钟舍入,小于等于30分钟截断 |
所有日期类型 | 'S' ,'s' | 输入的日期大于500毫秒舍入,小于等于500毫秒截断 |
示例
SQL
-- 以分钟截取当前的时间
SQL> SELECT ROUND('2025-06-26 19:24:32.420', 'minute') FROM dual;
+--------------------------+
| EXPR1 |
+--------------------------+
| 2025-06-26 19:25:00.000 |
+--------------------------+