平均年龄的天数的含义?

n1r*_*1r3 7 postgresql

我想知道我的用户的平均年龄并执行以下操作:

# SELECT avg(age(birthday)) FROM "user";
                   avg
------------------------------------------
 33 years 10 mons 32 days 08:33:10.577946
Run Code Online (Sandbox Code Playgroud)

天数是什么意思?怎么可能超过31天?

我有 3746 条记录,而且我在 UTC 时区。

PS:我使用的是 Postgres 9.5.3

小智 0

该函数AGE()返回一个interval[1] 值。

如果您只想计算年份,则必须从age函数中提取它,例如:

SELECT AVG(EXTRACT(year FROM AGE(birthday))) FROM user;
Run Code Online (Sandbox Code Playgroud)

请查看文档[2]以了解更多详细信息。

参考:

  1. https://www.postgresql.org/docs/current/static/datatype-datetime.html
  2. https://www.postgresql.org/docs/9.5/static/functions-datetime.html