1

当我尝试在搜索时选择特定月份和年份的记录时,我找到了一半的解决方案

mysql:使用 PHP 选择特定月份的所有条目

select * 
from thetable 
where monthname(date_field) = 'February'

然后我修改它如下

select * 
from payments 
where monthname(date) = 'February' and EXTRACT(date )='2011';

但它显示错误什么是在我的表中选择mounth和year的正确方法我将日期存储为 2011-2-4

4

2 回答 2

1

您的列似乎不是Date数据类型,因此您可以做的最好的方法是先将其转换为DATE使用STR_TO_DATE

SELECT  *
FROM    Payments
WHERE   MONTHNAME(STR_TO_DATE(date,'%Y-%c-%e')) = 'FEBRUARY' AND
        YEAR(STR_TO_DATE(date,'%Y-%c-%e')) = 2011
于 2012-12-14T03:04:03.467 回答
1

试试这个:

select * from payments p 
where year(p.date) = 2011 and monthname(p.date) = 'February'
于 2012-12-14T09:00:46.960 回答