Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


TIMESTAMPADD

📄字数 1.1K
👁️阅读量 加载中...

功能描述

在日期时间值上加上整数时间间隔。

语法格式

sql
TIMESTAMPADD(unit, interval, datetime)

输入参数

  • unit:时间间隔单位,INTEGER 类型,或能隐式转换为 INTEGER 类型的其他类型。
  • interval:添加的时间间隔,INTEGER 类型,或能隐式转换为 INTEGER 类型的其他类型。值可以为负数,表示减去的时间间隔。
  • datetime:日期时间值,DATEDATETIMEDATETIME WITH TIME ZONE 类型,或能隐式转换为上述类型的其他类型。

第一个参数的取值说明

含义
YEAR
QUARTER季度
MONTH
WEEK
DAY
HOUR小时
MINUTE分钟
SECOND秒钟
MICROSECOND微秒

提示

  • NULL 无具体的类型,当第三个参数为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的形参类型,如:TIMESTAMPADD(YEAR, NULL, NULL::DATETIME)
  • 当第三个参数为 DATE 类型时,第一个参数仅支持 YEARQUARTERMONTHWEEKDAY;否则函数返回 NULL。若第一个参数为 HOURMINUTESECONDMICROSECOND,需要将第三个参数由 DATE 类型转换为 DATETIME 类型。

输出结果

返回 DATEDATETIMEDATETIME WITH TIME ZONE 类型,输出结果的类型和第三个输入参数的类型一致,输入参数 intervaldatetime 为空字符串或 NULL 时,输出结果为 NULL

提示

  • 返回的结果中,默认只精确到毫秒,如果需要返回的结果精确到微秒,需要借助 TO_CHAR() 函数将时间进行格式化。例如:TO_CHAR(TIMESTAMPADD(MICROSECOND, 10, '2003-01-02 15:30:10.123456'), 'YYYY-MM-DD HH24:MI:SS.SSSSSS')

示例

sql
SQL> SELECT TIMESTAMPADD(DAY, 2, '2003-01-02');

+--------------------------+
|          EXPR1           |
+--------------------------+
| 2003-01-04 00:00:00.000  |
+--------------------------+
   
SQL> SELECT TIMESTAMPADD(MINUTE, 10, '2003-01-02 15:30:10.123');

+--------------------------+
|          EXPR1           |
+--------------------------+
| 2003-01-02 15:40:10.123  |
+--------------------------+