TIMESTAMPADD 标量函数 (scalar function)

TIMESTAMPADD函数用于返回将指定间隔的指定数量添加到时间戳值的结果。

阅读语法图跳过可视化语法图TIMESTAMPADD( 时间间隔, 号, 表达式)

该模式是 SYSIBM。

间隔
返回内置SMALLINT或INTEGER数据类型值的表达式。 以下值是区间有效值:
表 1. 有效的时间间隔值
区间有效值 等间隔
1 微秒
2
4 分钟
8 小时
16
32 周数
64 月数
128 季度数
256 年数
号码
返回内置SMALLINT或INTEGER数据类型值的表达式。
表达式
返回内置 TIMESTAMP WITHOUT TIME ZONE 数据类型值的表达式。

更改开始函数的计算结果是没有时区的时间戳,其时间戳精度与表达式相同。更改结束

结果可以为空; 如果任何自变量为空,那么结果为空值。

结果使用常规的日期时间计算规则确定。 请参阅 SQL中的日期时间运算。 当添加的时间间隔以周为单位时,结果将按指定 number x 7 days 的方式计算。 当添加的间隔以四分之一表示时,结果将按指定 number x 3 months 的方式计算。

示例1: 以下示例将指定时间戳增加40年。 256表示年数,40表示要添加的间隔数。 以下语句返回值 ' 2005-07-27-15.30.00.000000 '。
   SELECT TIMESTAMPADD(256,40,TIMESTAMP('1965-07-27-15.30.00')) 
     FROM SYSIBM.SYSDUMMY1;
示例2 :以下示例将指定时间戳增加18个月。 64表示月份,18表示要添加的间隔数。 以下语句返回值 ' 2008-07-20-08.08.00.000000 '。
   SELECT TIMESTAMPADD(64,18,TIMESTAMP('2007-01-20-08.08.00')) 
     FROM SYSIBM.SYSDUMMY1;
示例3: 以下示例将从指定时间戳中减去16个季度(4年)。 128表示四分之一,而-16表示要添加的间隔数(“-”表示负数)。 以下语句返回值 ' 2003-09-28-05.30.00.000000 '。
   SELECT TIMESTAMPADD(128,-16,TIMESTAMP('2007-09-28-05.30.00')) 
      FROM SYSIBM.SYSDUMMY1;
示例4: 以下示例将指定时间戳增加18周。 32表示周数,18表示要添加的间隔数。 以下语句返回值 ' 2007-05-27-08.08.00.000000 '。
SELECT TIMESTAMPADD(32,18,TIMESTAMP('2007-01-20-08.08.00'))
	FROM SYSIBM.SYSDUMMY1;