TRUNC
功能描述
TRUNC函数用于截断日期时间类型的值。将日期时间值截断到指定的单位,并返回一个新的日期时间值。
返回值格式可通过GUC参数'nls_date_format'进行设置。
语法格式
TRUNC (date,fmt)
参数说明
date
日期时间类型值。
fmt
指定截断到的时间单位。取值如下:
yyyy: 将日期截断到年份,返回一个新的日期时间值,该日期时间值的年份与指定的日期相同,但月、日、时间被设置为1月1日、0时0分0秒。
mm: 将日期截断到月份,返回一个新的日期时间值,该日期值的月份与指定的日期相同,但日被设置为1日,时间被设置为0时0分0秒。
dd: 将日期截断到日,返回一个新的日期时间值,该日期时间值的年、月、日与指定的日期相同,但时间被设置为0时0分0秒。
hh: 将日期截断到小时,返回一个新的日期时间值,该日期时间值的年、月、日和时与指定的日期相同,但分、秒被设置为0分0秒。
mi: 将日期截断到分钟,返回一个新的日期时间值,该日期时间值的年、月、日和时、分与指定的日期相同,但秒被设置为0秒。
示例
示例1:将当前日期截断至月份。
1、查询当前日期。
SELECT SYSDATE FROM DUAL;
结果返回如下:
sysdate
---------------------
2023-11-03 15:47:45
(1 row)
2、使用TRUNC函数截断当前日期至月份。
SELECT TRUNC(SYSDATE,'mm');
结果返回如下:
trunc
---------------------
2023-11-01 00:00:00
(1 row)
示例2:修改输出日期格式使用TRUNC函数。
1、设置GUC参数nls_date_format。
SET nls_date_format='DD-Mon-YYYY';
2、使用TRUNC函数验证输出格式。
SELECT TRUNC(SYSDATE,'mm');
结果返回如下:
trunc
-------------
01-Nov-2023
(1 row)
3、清理环境。
RESET nls_date_format