在 PostgreSQL 中按月选择

我想根据 datetimestamp列的月份来选择行,如下所示:

SELECT id, name, birthday
FROM employee.person
WHERE Month(birthday) > 10;

但是我只在 PostgreSQL 中得到错误消息。
这怎么可能呢?

86553 次浏览

您可以使用 EXTRACT函数,如下所示:

SELECT id, name, birthday FROM employee.person
WHERE EXTRACT(MONTH FROM birthday) > 10;

您的问题来自于 PostgreSQL 中没有 Month函数这样的事实。检查在线文档 给你,看看你能得到什么。Extract应该足够了。

如果需要,还可以使用以下函数提取月份名称。

SELECT TO_CHAR(DATE(REPORT_DATE), 'Month') FROM TABLE_NAME