Reputation:
The following query returns:
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
AND this query returns:
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
How would one extract simply the year from one of these queries?
Upvotes: 24
Views: 35590
Reputation:
If column fu is of data type DATE, you could use
SELECT EXTRACT(YEAR FROM fu) FROM mydate;
and if it is varchar, you convert it to date using to_date()
SELECT EXTRACT(YEAR FROM to_date(fu, <your pattern>)) FROM mydate;
In your case:
select EXTRACT(YEAR FROM age(cast(dob as date)))
from mas_patient_details
where age <= 59;
Upvotes: 38