Как выбрать из данного месяца без использования между или ›=?

У меня есть массив всех месяцев в строках, т.е. ['Январь', 'Февраль',... и т.д.]. Я хочу перебрать этот массив и передать его команде SQL, которая получит все в течение этого месяца. Например

SELECT * WHERE foodate='January'

вернет все записи с 1 января по 31 января.


person Dap    schedule 15.05.2014    source источник
comment
Какой тип данных имеет столбец foodate?   -  person Marcus Adams    schedule 15.05.2014
comment
какой год он должен использовать? текущий?   -  person Ryan Vincent    schedule 15.05.2014
comment
столбец - дата и время. год может варьироваться, но для простоты пока только текущий год.   -  person Dap    schedule 15.05.2014
comment
Руководство по MySQL — ваш друг dev.mysql.com/doc/refman/5.5/en/   -  person Dave    schedule 15.05.2014


Ответы (2)


Вы пробовали это?

select *from your_table where monthname(foodate)='January' ;
person Azu    schedule 15.05.2014

Это foodate типа varchar или date?

Если это varchar, вы можете сделать что-то вроде:

SELECT * WHERE foodate LIKE '%January%'

Или вы можете увидеть здесь некоторый ответ для типа даты

person Mariepw    schedule 15.05.2014
comment
foodate - это поле даты и времени - person Dap; 15.05.2014