Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (E-O)

 

HOURS 函数 [Date and time]

计算小时的函数。有关具体详细信息,请参见此函数的用法。

语法 1:integer
HOURS ( [ datetime-expression, ] datetime-expression )
语法 2:timestamp
HOURS ( datetime-expression, integer-expression )
参数
  • datetime-expression   日期和时间。

  • integer-expression   要添加到 datetime-expression 中的小时数。如果 integer-expression 是负数,则从日期时间中减去相应的小时数。如果提供整数表达式,则必须将 datetime-expression 显式地转换为 DATETIME 数据类型。

    有关转换数据类型的信息,请参见CAST 函数 [Data type conversion]

返回值

INT

TIMESTAMP

注释

所指定的信息会更改此函数的行为:

  • 如果提供一个日期,此函数返回自 0000-02-29 以来的小时数。

    注意

    0000-02-29 并不表示实际日期,它是日期算法使用的日期。

  • 如果提供两个时间戳,此函数会返回它们之间的整数小时数。替代方法为使用 DATEDIFF 函数。

  • 如果提供一个日期和一个整数,此函数会为指定时间戳添加整数小时数。替代方法为使用 DATEADD 函数。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下语句返回值 4,表示第二个时间戳比第一个时间戳晚四个小时。建议使用第二个示例 (DATEDIFF)。

SELECT HOURS( '1999-07-13 06:07:12',
   '1999-07-13 10:07:12' );

SELECT DATEDIFF( hour,
   '1999-07-13 06:07:12',
   '1999-07-13 10:07:12' );

以下语句返回值 17517342。

SELECT HOURS( '1998-07-13 06:07:12' );

以下语句返回日期时间 13.05.99 02:05:070.000。建议使用第二个示例 (DATEADD)。

SELECT HOURS(
   CAST( '1999-05-12 21:05:07' AS DATETIME ), 5 );

SELECT DATEADD( hour, 5, '1999-05-12 21:05:07' );