TIMESTAMP_ROUND

对指定的 TIMESTAMP 进行四舍五入。如果省略精度实参,TIMESTAMP_ROUND 将舍入到天 (DD) 精度。

行为类型

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

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

语法

TIMESTAMP_ROUND ( rounding‑target[, 'precision'] )

参数

rounding‑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 TIMESTAMP_ROUND(CURRENT_TIMESTAMP, 'HH');
        ROUND
---------------------
 2016-04-28 15:00:00
(1 row)

五入到最近的月份:

=> SELECT TIMESTAMP_ROUND('9-22-2011 12:34:00'::TIMESTAMP, 'MM');
        ROUND
---------------------
 2011-10-01 00:00:00
(1 row)

另请参阅

ROUND