从mysql datetime cakephp按年或月过滤

时间:2013-10-10 03:14:31

标签: php cakephp cakephp-1.3 php-5.3

我在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月)。那么,如何在表格的日期字段中添加条件以按正确的月份过滤?

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:4)

WHERE MONTH(date)=6    // June

您还可以使用YEAR功能

WHERE YEAR(date) =2013

<强> Referene