在我的数据库中,有一个名为“date”的时间戳列格式为YYYY-MM-DD
我想获得比特定月份和年份更早的结果..
例如:
$month = 02;
$year = 2015;
并获得比2015年2月更早的结果。
愚蠢地我试着做这样的事情:
SELECT * FROM table WHERE MONTH(date)<'$month' AND YEAR(date)<='$year'
但..这个查询只考虑月份数而忽略了年份。如果我的数据是2014年12月,则自12月(12)以来它将不会被注册e&gt;比二月(02)。
答案 0 :(得分:0)
在代码中合并您的月份和年份:
$date = date('Y-m-d', strtotime("$year-$month-01"));
然后与该值进行比较:
SELECT * FROM table WHERE `date` <= '$date' ;
答案 1 :(得分:0)
如果日期类型为“date”(YYYY-mm-dd)
,这应该足够了$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01';
如果日期是“datetime”或“timestamp”trip>
$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01000000';