PostgreSQL age() 函数使用指南

PostgreSQL age() 函数根据指定的生日返回指定日期或现在的年龄,返回格式为 x years x mons x days

age() 语法

PostgreSQL age() 函数的语法有两种形式:

age(date, birthday) -> interval

或者

age(birthday) -> interval

参数

date
必需的。 要计算年龄的日期。
birthday
必需的。 生日。

返回值

PostgreSQL age(date, birthday) 函数根据指定的生日返回指定日期的年龄。

PostgreSQL age(birthday) 函数根据指定的生日现在的年龄。

PostgreSQL age(birthday) 函数返回的是一个时间间隔,数据的格式为 x years x mons x days

如果提供的生日比提供的日期或者现在大,此函数将返回一个负的时间间隔。

age() 示例

本示例展示了如何使用 PostgreSQL age() 函数计算一个生日为 2001-01-01 的人的现在的年龄。

SELECT age(timestamp '2001-01-01');
           age
-------------------------
 21 years 4 mons 12 days

您也可以计算他在某个日期的年龄,比如 2010-01-01:

SELECT age(timestamp '2010-02-02', timestamp '2001-01-01');
         age
---------------------
 9 years 1 mon 1 day

在看几个更多的示例:

SELECT
  age('2010-02-01', '2001-01-01'),
  age('2010-01-01', '2001-01-01'),
  age('2001-02-01', '2001-01-01'),
  age('2001-01-02', '2001-01-01');
      age      |   age   |  age  |  age
---------------+---------+-------+-------
 9 years 1 mon | 9 years | 1 mon | 1 day