2015-02-11 259 views
0

在我的数据库中,有一个名为“日期”格式化为YYYY-MM-DD如何比较sql语句中的月份和年份?

我想要得到的结果不是一个具体的月份和年份更久的时间戳列..

例如:

$month = 02; 
$year = 2015; 

并获得比2015年2月更早的结果。

默默地我试图做这样的事情:

SELECT * FROM table WHERE MONTH(date)<'$month' AND YEAR(date)<='$year' 

但是...这个查询只考虑月份数量而忽视了一年..如果我的数据是2014年12月它不会因为注册十二月(12)e>比二月(02)。

回答

0

结合您的月份和年份代码:

$date = date('Y-m-d', strtotime("$year-$month-01")); 

然后比较该值:

SELECT * FROM table WHERE `date` <= '$date' ; 
0

这应该是不够的,如果输入 “日期” 的日期编号(YYY-MM-DD )

$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01'; 

如果日期是 “日期时间” 或 “时间戳” 尝试:

$statement = 'SELECT * FROM table WHERE date<'.$year.$month.'01000000';