Фильтр по году или месяцу от mysql datetime cakephp

У меня есть таблица в базе данных в приложении CakePHP, которое имеет date поле. Тип данных этого поля - DATETIME. Итак, в таблице показано так:

2013-08-10 13:34:45

Я хотел бы добавить условие в запросе find() для фильтрации по годам или месяцам. Чтобы отфильтровать по году, я могу использовать условие LIKE, чтобы сделать что-то вроде:

$condition = array(
    'MyModel.date LIKE' => '%2013%'
);

Но как я могу фильтровать по месяцам? вышеуказанный подход не будет работать, потому что я могу иметь, например, что-то вроде этого в качестве даты:

2013-12-11 11:11:11

Если я сделаю LIKE "%11%", мои результаты будут неверными, потому что месяц предыдущей даты фактически ноябрь (или декабрь, если вы живете в Канаде). Итак, как я могу добавить условие в поле даты моей таблицы для фильтрации по правильному месяцу?

Заранее благодарю за любую помощь

1 ответ

Решение
WHERE MONTH(date)=6    // June

Вы также можете использовать YEAR функция

WHERE YEAR(date) =2013

Referene

Другие вопросы по тегам