在PostgreSQL中按月选择

aul*_*lia 31 sql postgresql date

我想根据a datetimestampcolumn 的月份选择行,如下所示:

SELECT id, name, birthday 
FROM employee.person 
WHERE Month(birthday) > 10;
Run Code Online (Sandbox Code Playgroud)

但我只在PostgreSQL中收到错误消息.
如何才能做到这一点?

k.m*_*k.m 73

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

SELECT id, name, birthday FROM employee.person 
WHERE EXTRACT(MONTH FROM birthday) > 10;
Run Code Online (Sandbox Code Playgroud)

你的问题来自Month于PostgreSQL中没有函数这样的事实.查看此处的在线文档,了解您可以获得的内容.Extract应该够了.

  • 此方法的缺点是它无法利用生日列上的索引。 (2认同)