TIMESTAMP_TRUNC
截断指定的 TIMESTAMP。如果省略精度实参,TIMESTAMP_TRUNC
将截断到天 (DD
) 精度。
行为类型
语法
TIMESTAMP_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
注意
DATE
表达式不支持时、分和秒截断。 -
示例
截断到当前小时:
=> SELECT TIMESTAMP_TRUNC(CURRENT_TIMESTAMP, 'HH');
TIMESTAMP_TRUNC
---------------------
2016-04-29 08:00:00
(1 row)
截断到月份:
=> SELECT TIMESTAMP_TRUNC('9-22-2011 12:34:00'::TIMESTAMP, 'MM');
TIMESTAMP_TRUNC
---------------------
2011-09-01 00:00:00
(1 row)