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

时间:2016-03-15 16:24:21

标签: sql postgresql postgresql-9.1

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

这是我的疑问:

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

但是我收到以下错误:

  

错误:没有月份功能(日期)
  第1行:...... T consejo.numero,consejo.fecha议会从哪里开始(cons ...
  
  提示:没有函数匹配参数的名称和类型。您可能需要添加显式类型转换。

可能是错的?

2 个答案:

答案 0 :(得分:3)

在Postgresql中没有MONTH功能可用。您可以改为使用EXTRACT

WHERE EXTRACT(MONTH FROM consejo.fecha) = 2

答案 1 :(得分:0)

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

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

查看参考指南:

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