AGE_IN_YEARS

返回两个日期之间的年份差,以整数表示。

行为类型

  • 不可变,如果两个日期实参均为 TIMESTAMP 数据类型

  • 稳定,如果任一日期为 TIMESTAMPTZ 或仅提供一个实参

语法

AGE_IN_YEARS( [ date1,] date2 )

参数

date1
date2
指定要测量的期限的边界。如果您只提供一个实参,Vertica 会将 date1 设置为当前日期。这两个参数的计算结果必须为以下数据类型之一:
  • DATE

  • TIMESTAMP

  • TIMESTAMPTZ

如果 date1 < date2,AGE_IN_YEARS 将返回负值。

示例

获取 1972 年 3 月 2 日出生的人截至 1990 年 6 月 21 日的年龄:

=> SELECT AGE_IN_YEARS('1990-06-21'::TIMESTAMP, '1972-03-02'::TIMESTAMP);
 AGE_IN_YEARS
--------------
           18
(1 row)

如果第一个日期早于第二个日期,AGE_IN_YEARS 将返回负数:

=> SELECT AGE_IN_YEARS('1972-03-02'::TIMESTAMP, '1990-06-21'::TIMESTAMP);
AGE_IN_YEARS
--------------
          -19
(1 row)

获取 1939 年 11 月 21 日出生的人截至今天的年龄:

=> SELECT AGE_IN_YEARS('1939-11-21'::DATE);
 AGE_IN_YEARS
--------------
           77
(1 row)