TIMESTAMPADD
将指定数量的间隔添加到 TIMESTAMP 或 TIMESTAMPTZ 值,并返回相同数据类型的结果。
行为类型
语法
TIMESTAMPADD ( datepart, count, start‑date );
参数
- datepart
- 指定
TIMESTAMPADD
添加到指定开始日期的时间间隔类型。如果 datepart 为表达式,则必须用括号括起来:TIMESTAMPADD((expression), interval, start;
datepart 的求值结果必须为以下字符串字面量之一,无论带引号还是不带引号:
-
year
|yy
|yyyy
-
quarter
|qq
|q
-
month
|mm
|m
-
day
|dayofyear
|dd
|d
|dy
|y
-
week
|wk
|ww
-
hour
|hh
-
minute
|mi
|n
-
second
|ss
|s
-
millisecond
|ms
-
microsecond
|mcs
|us
-
- count
- 整数或整数表达式,指定要添加到 start‑date 的 datepart 间隔数。
- start‑date
- TIMESTAMP 或 TIMESTAMPTZ 值。
示例
向当前日期添加两个月:
=> SELECT CURRENT_TIMESTAMP AS Today;
Today
-------------------------------
2016-05-02 06:56:57.923045-04
(1 row)
=> SELECT TIMESTAMPADD (MONTH, 2, (CURRENT_TIMESTAMP)) AS TodayPlusTwoMonths;;
TodayPlusTwoMonths
-------------------------------
2016-07-02 06:56:57.923045-04
(1 row)
向当月月初添加 14 天:
=> SELECT TIMESTAMPADD (DD, 14, (SELECT TRUNC((CURRENT_TIMESTAMP), 'MM')));
timestampadd
---------------------
2016-05-15 00:00:00
(1 row)