TRUNC
截断指定的日期或时间。如果省略精度实参,TRUNC 将截断到天 (DD) 精度。
行为类型
语法
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 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)