VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

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