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