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 |
+--------------------------+