Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
YEARS 函数操纵 TIMESTAMP,或返回两个 TIMESTAMP 值之间的年数。请参见下面的注释部分。
YEARS( timestamp-expression )
YEARS( timestamp-expression, timestamp-expression )
YEARS( timestamp-expression, integer-expression )
timestamp-expression TIMESTAMP 类型的日期和时间值。
integer-expression 要添加到 timestamp-expression 的年数(以 SMALLINT 值的形式)。如果 integer-expression 是负数,则从 timestamp-expression 中减去相应的年数。如果提供 integer-expression,则必须将 timestamp-expression 显式地转换为 DATE、TIME 或 TIMESTAMP 值。如果 timestamp-expression 为 TIME,则会假定为当前年份。
有关转换数据类型的信息,请参见CAST 函数 [Data type conversion]。
SMALLINT,使用语法 1 或语法 2。
TIMESTAMP,使用语法 3。
YEARS 值是通过计算两个日期之间年中第一天的数目得出的。
SQL/2008 服务商扩充。
以下语句都返回 -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' );