从MySQL Datetime Cakephp中按年份或月份过滤


filter by year or month from 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

如果我喜欢"%11%",我的结果将是错误的,因为前一天的月份实际上是 11 月(如果您住在加拿大,则为 12 月(。那么,如何在表的日期字段上添加条件以按正确的月份进行筛选?

提前感谢您的任何帮助

WHERE MONTH(date)=6    // June

您也可以使用YEAR功能

WHERE YEAR(date) =2013

参考文献