如何在PostgreSQL中计算列

如何在PostgreSQL中计算列,sql,postgresql,select,Sql,Postgresql,Select,我有一个表,其中包含一个人的id、姓名和年龄,例如20。 我必须创建一个select来获取姓名、年龄和出生年份。我怎么计算这个呢 到目前为止,我有这个,但它不起作用: SELECT name, age, CURRENT_YEAR-age as yearOfBirth FROM person; 你可以做: SELECT name, age, extract(year from current_date) - age as yearOfBirth FROM person; 好的

我有一个表,其中包含一个人的id、姓名和年龄,例如20。 我必须创建一个select来获取姓名、年龄和出生年份。我怎么计算这个呢

到目前为止,我有这个,但它不起作用:

SELECT name, age, CURRENT_YEAR-age as yearOfBirth
FROM person;
你可以做:

SELECT 
  name, 
  age, 
  extract(year from current_date) - age as yearOfBirth
FROM person;

好的,我出生于2000-12-12(出生年份=2000),今天是2020年,我仍然19岁<代码>2020-19=2001。我对这个问题没有很好的答案。@Abelisto我知道你的意思,不可能得到确切的年龄,但下面给出的答案正好满足我的需要。你不应该存储年龄,而是存储出生日期