如何按日期获取SQL中特定月份的记录

How to obtain records of a specific month in SQL by date

我正在使用 Postgres 9.1 并尝试从知道给定月份的 table 获取记录,并且应该知道日期类型日期字段是否包含月份。

这是我的查询:

SELECT consejo.numero,consejo.fecha FROM consejo WHERE MONTH(consejo.fecha) = 2

但我收到以下错误:

ERROR: There is no month function (date)
LINE 1: ... T consejo.numero, consejo.fecha council FROM WHERE MONTH (cons ...

HINT: No function matches the name and types of arguments. You may need to add explicit type conversion.

可能是错误的?

在 Postgresql 中没有可用的 MONTH 函数。您可以使用 EXTRACT 代替:

WHERE EXTRACT(MONTH FROM consejo.fecha) = 2

另一种选择是使用 PostgreSQL 的 date_part() 函数:

 WHERE date_part('month', consejo.fecha) = 2

看参考指南:

http://www.postgresql.org/docs/9.5/static/functions-datetime.html