Selecting by month in PostgreSQL
I want to select rows according to the month of a date
or timestamp
column like this:
SELECT id, name, birthday
FROM employee.person
WHERE Month(birthday) > 10;
But I only get error messages in PostgreSQL.
How can this be done?
Solution 1:
You can use EXTRACT
function, like this:
SELECT id, name, birthday FROM employee.person
WHERE EXTRACT(MONTH FROM birthday) > 10;
Your problem comes from the fact that there is no such thing as Month
function in PostgreSQL. Check online documentation here to see what you can get instead. Extract
should be enough.
Solution 2:
If you want you can also extract the month name using the following function.
SELECT TO_CHAR(DATE(REPORT_DATE), 'Month') FROM TABLE_NAME