codecamp

OceanBase TRUNC (date)

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


OceanBase TO_YMINTERVAL
OceanBase TZ_OFFSET
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }