在我的数据库中,有一个名为"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日)起将不会注册,而不是2月(2日)。
在代码中组合月份和年份:
$date = date('Y-m-d', strtotime("$year-$month-01"));
然后与该值进行比较:
SELECT * FROM table WHERE `date` <= '$date' ;
如果日期id类型为"date"(YYY mm-dd),则这就足够了
$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01';
如果日期是"日期时间"或"时间戳",请尝试:
$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01000000';