TIMESTAMPADD 标量函数 (scalar function)
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;