基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ROUND (date)
更新时间:2026-08-30 22:11:55
描述
该函数以参数 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 | 返回离指定日期最近的月的第一天日期。 |
| 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