开始更改

ADD_HOURS

ADD_HOURS 函数返回一个时间戳记,该时间戳记表示第一个自变量加上指定的小时数。

读取语法图跳过可视语法图ADD_HOURS(表达式 ,数字表达式)
表达式
用于指定开始时间戳记的表达式。 表达式必须返回以下某个内置数据类型的值: 时间戳记,字符串或图形字符串。

如果 expression 是字符或图形字符串,那么其值必须是时间戳记的有效字符串表示。 有关时间戳记的字符串表示的有效格式,请参阅 日期时间值的字符串表示

数字表达式
指定要添加到 expression的小时数的表达式。 numeric-expression 必须返回内置数字数据类型的值。 如果表达式的数据类型不是 BIGINT ,那么在对函数求值之前,会将其隐式强制转换为 BIGINT。 可以使用负数字值来减去小时数。

如果 expression 是时间戳记,那么函数的结果是与表达式具有相同精度的时间戳记。 否则,函数的结果为 TIMESTAMP (12)。 如果任一自变量可以为空,那么结果可以为空; 如果任一自变量为空,那么结果为空值。

示例

  • 假定当前时间戳记为 2007 年 1 月 31 日 01:02:03.123456。 使用当前时间戳记加上 1 小时来设置主变量 ADD_HOUR。
    SET :ADD_HOUR = ADD_HOURS(CURRENT TIMESTAMP, 1)

    使用表示 2007-01-31 02:02:03.123456的值设置主变量 ADD_HOUR。

  • 假定 TIMESTAMP 是值为 1965 年 7 月 27 日 23:58:59 的主变量。 使用该时间戳记的值加上 3 小时来设置主变量 ADD_HOUR。
    SET :ADD_HOUR = ADD_HOURS(:TIMESTAMP,3)

    使用表示时间戳记加 3 小时的值 "1965-07-28 02:58:59" 来设置主变量 ADD_HOUR。

  • ADD_HOURS 函数和日期时间算术可用于实现相同的结果。 以下示例说明了这一点。
    SET :TIMESTAMPHV = TIMESTAMP '2008-02-28 22:58:59' + 4 HOURS
    SET :TIMESTAMPHV = ADD_HOURS( TIMESTAMP '2008-02-28 22:58:59', 4)

    在这两种情况下,使用值 "2008-02-29 02:58:59" 设置主变量 TIMESTAMPV。

    现在考虑相同的示例,但添加了 28 个小时。

    SET :TIMESTAMPHV = TIMESTAMP '2008-02-28 22:58:59' + 28 HOURS
    SET :TIMESTAMPHV = ADD_HOURS(TIMESTAMP '2008-02-28 22:58:59', 28)

    在这两种情况下,使用值 "2008-03-01 02:58:59" 设置主变量 TIMESTAMPV。

  • 假定 TIMESTAMP 是值为 1965 年 7 月 27 日 23:58:59 的主变量。 将主变量 ADD_HOUR 设置为该时间戳记的值减去 3 小时。
    SET :ADD_HOUR = ADD_HOURS(:TIMESTAMP,-3)

    主变量 ADD_HOUR 设置为 1965-07-27 20:58:59; 表示 1965 年 7 月 27 日 23:58:59 减去 3 小时的值。

结束更改