从日期类型开始的PostgreSQL年龄计算

时间:2016-10-16 16:59:49

标签: postgresql

我有下表:

CREATE TABLE public.employees
(
employee_id integer NOT NULL,
name text NOT NULL,
date_of_birth date,
address text,
email text,
CONSTRAINT employees_pkey PRIMARY KEY (employees_id),
CONSTRAINT employees_email_key UNIQUE (email)
)

我如何能够在输出中列出每个员工的姓名和年龄?

感谢。

2 个答案:

答案 0 :(得分:3)

使用date_part()和age()函数

SELECT name text, date_part('year',age(date_of_birth)),* FROM public.employees

请参阅日期函数https://www.postgresql.org/docs/current/static/functions-datetime.html

的文档

答案 1 :(得分:1)

您可以像这样使用age()函数:

SELECT name, EXTRACT(year FROM age(current_date,date_of_birth)) :: int as age FROM public.employees