TRUNC

截断指定的日期或时间。如果省略精度实参,TRUNC 将截断到天 (DD) 精度。

行为类型

  • 如果目标日期为 TIMESTAMPDATE ,则是 不可变

  • 如果目标日期为 TIMESTAMPTZ,则是 稳定

语法

TRUNC( trunc‑target[, 'precision'] )

参数

trunc‑target
求值结果为以下数据类型之一的表达式:
precision
一个字符串常量,指定截断值的精度,为以下之一:
  • 世纪CC | SCC

  • SYYY | YYYY | YEAR | YYY | YY | Y

  • ISO 年IYYY | IYY | IY | I

  • 季度Q

  • MONTH | MON | MM | RM

  • 与一年的第 1 天相同的工作日WW

  • 与 ISO 年的第一天相同的工作日IW

  • 与当月第一天相同的工作日W

  • (默认): DDD | DD | J

  • 第一个工作日DAY | DY | D

  • HH | HH12 | HH24

  • MI

  • SS

示例

截断到当前小时:

=> => SELECT TRUNC(CURRENT_TIMESTAMP, 'HH');
        TRUNC
---------------------
 2016-04-29 10:00:00
(1 row)

截断到月份:

=> SELECT TRUNC('9-22-2011 12:34:00'::TIMESTAMP, 'MM');
   TIMESTAMP_TRUNC
---------------------
 2011-09-01 00:00:00
(1 row)

另请参阅

TIMESTAMP_TRUNC