2016-03-15 4 views
0

Я использую Postgres 9.1 и пытаюсь получить записи из таблицы, зная данный месяц, и должен знать, содержит ли поле даты типа даты месяц.Как получить записи определенного месяца в SQL по дате

Это мой запрос:

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.

может быть не так?

+1

Вы должны сравнить с помощью ' BETWEEN' или '>', чтобы сделать ваш запрос [SARGable] (http://stackoverflow.com/questions/799584/what-makes-a-sql-statement-sargable) – lad2025

+1

Ar Вы уверены, что хотите отфильтровать только месяц, а не год и месяц? –

+0

Где в руководстве вы находите функцию 'month()'? –

ответ

0

В Postgresql нет функции MONTH. Вы можете использовать EXTRACT вместо:

WHERE EXTRACT(MONTH FROM consejo.fecha) = 2 

 Смежные вопросы

  • Нет связанных вопросов^_^