以下查询返回:
SELECT AGE(cast(dob AS date))
FROM mas_patient_details;
age
----------
39 years 5 mons 19 days
13 years 2 days
69 years 2 days
41 years 11 mons 25 days
并且此查询返回:
SELECT age(cast(dob as date))
FROM mas_patient_details
WHERE age <= 59;
age
----------
39 years 5 mons 19 days
13 years 2 days
69 years 2 days
41 years 11 mons 25
如何从其中一个查询中简单地提取年份?
最佳答案
如果列 fu 的数据类型为 DATE,您可以使用
SELECT EXTRACT(YEAR FROM fu) FROM mydate;
如果它是 varchar,则使用 to_date() 将其转换为日期
SELECT EXTRACT(YEAR FROM to_date(fu, <your pattern>)) FROM mydate;
在你的情况下:
select EXTRACT(YEAR FROM age(cast(dob as date)))
from mas_patient_details
where age <= 59;
关于sql - 如何在 postgresql 选择查询中仅从 age() 函数中获取年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40484345/