TRUNC
函数返回以参数 fmt
为单位距离的离指定日期 date
最近的日期时间值,并且返回的日期值在 date
之前。
注意
与函数 ROUND
的区别为,TRUNC
返回的值必须是在 date
之前的离 date
最近的日期,ROUND
可以是 date
之前也可以是 date
之后的离它最近的日期值。
语法
TRUNC (date,[fmt])
参数
参数 | 说明 |
---|---|
date |
|
fmt | 指定了函数返回值与 |
fmt参数表 | 说明 |
---|---|
j | 默认值,最近 0 点日期。 |
day、dy、d | 返回离指定日期最近的星期日。 |
month、mon、mm、rm | 返回离指定日期最近的月的第一天日期。 |
q | 返回离指定日期最近的季的日期。 |
yyyy、yyy、yy、y | 多个 y 表示不同的精度,返回离指定日期最近的年的第一个日期。 |
cc、scc | 返回离指定日期最近的世纪的初日期。 |
返回类型
DATE
数据类型。
示例
以下示例展示了用 TRUNC
计算距离 SYSDATE 最近的符合要求的日期值:
SELECT SYSDATE 当时日期,
TRUNC(SYSDATE) 今天日期,
TRUNC(SYSDATE,'DAY') 本周星期日,
TRUNC(SYSDATE,'MONTH') 本月初,
TRUNC(SYSDATE,'Q') 本季初日期,
TRUNC(SYSDATE,'YEAR') 本年初日期 FROM DUAL;
查询结果如下:
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+
| 当时日期 | 今天日期 | 本周星期日 | 本月初 | 本季初日期 | 本年初日期 |
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+
| 2020-03-08 22:41:46 | 2020-03-08 00:00:00 | 2020-03-08 00:00:00 | 2020-03-01 00:00:00 | 2020-01-01 00:00:00 | 2020-01-01 00:00:00 |
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+
以下示例展示了在相同日期下用 ROUND
计算符合要求的最近日期的结果:
SELECT SYSDATE 当时日期,
ROUND(SYSDATE) 最近0点日期,
ROUND(SYSDATE,'DAY') 最近星期日,
ROUND(SYSDATE,'MONTH') 最近月初,
ROUND(SYSDATE,'Q') 最近季初日期,
ROUND(SYSDATE,'YEAR') 最近年初日期 FROM DUAL;
查询结果如下:
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+
| 当时日期 | 最近0点日期 | 最近星期日 | 最近月初 | 最近季初日期 | 最近年初日期 |
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+
| 2020-03-08 22:41:02 | 2020-03-09 00:00:00 | 2020-03-08 00:00:00 | 2020-03-01 00:00:00 | 2020-04-01 00:00:00 | 2020-01-01 00:00:00 |
+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+