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

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite SQL 参考 » UltraLite SQL 函数 » SQL 函数 (P-Z)

 

YEARS 函数 [Date and time]

给定两个日期时,此函数返回二者之间的整数年数。建议改用 DATEDIFF 函数。请参见DATEDIFF 函数 [Date and time]

给定一个日期时,此函数返回年份。建议改用 DATEPART 函数。请参见DATEPART 函数 [Date and time]

给定一个日期和一个整数时,此函数为指定日期添加整数年数。建议改用 DATEADD 函数。请参见DATEADD 函数 [Date and time]

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

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

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

返回值

语法 1 返回 INTEGER。语法 2 返回 TIMESTAMP。

注释

YEARS 值是从两个日期之间年中第一天的数目计算出的。

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

示例

以下语句都返回 -4。

SELECT YEARS( '1998-07-13 06:07:12',
              '1994-03-13 08:07:13' );
SELECT DATEDIFF( year,
   '1998-07-13 06:07:12',
   '1994-03-13 08:07:13' );

以下语句都返回 1998。

SELECT YEARS( '1998-07-13 06:07:12' )
SELECT DATEPART( year, '1998-07-13 06:07:12' );

以下语句返回给定日期 300 年后的日期。

SELECT YEARS( CAST( '1998-07-13 06:07:12' AS TIMESTAMP ), 300 )
SELECT DATEADD( year, 300, '1998-07-13 06:07:12' );