2015-02-11 230 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';