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 函数 (A-D)

 

DAYS 函数 [Date and time]

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

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

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

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

返回值

INT,如果指定两个日期时间表达式。

TIMESTAMP,如果指定的第二个参数为整数。

注释

此函数的行为会视所指定信息的不同而变化:

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

    注意

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

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

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

此函数会忽略小时、分钟和秒。

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

示例

以下语句返回整数 729889。

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

以下语句返回整数值 -366,表示第二个日期比第一个日期早 366 天。建议使用第二个示例 (DATEDIFF)。

SELECT DAYS( '1998-07-13 06:07:12',
             '1997-07-12 10:07:12' );
SELECT DATEDIFF( day,
   '1998-07-13 06:07:12',
   '1997-07-12 10:07:12' );

以下语句返回时间戳 14.07.99 00:00:000.000。建议使用第二个示例 (DATEADD)。

SELECT DAYS( CAST('1998-07-13' AS DATE ), 366 );
SELECT DATEADD( day, 366, '1998-07-13' );