云数据库OceanBase入门教程 OceanBase TRUNC (date)

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 3

TRUNC函数返回以参数 fmt为单位距离的离指定日期 date最近的日期时间值,并且返回的日期值在 date之前。

注意
与函数 ROUND的区别为,TRUNC返回的值必须是在 date之前的离 date最近的日期,ROUND可以是 date之前也可以是 date之后的离它最近的日期值。

语法

TRUNC (date,[fmt])

参数

参数

说明

date

DATE数据类型。

fmt

指定了函数返回值与 date的距离单位,以下表格列举了该参数的可取值,大小写不敏感。

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