2011-06-02 36 views
0

我有這個功能,但我希望用戶能夠搜索1到2個月後,或6和19個月,或任何其他。兩個相對日期之間的查詢,MySQL

$query =  
"SELECT * FROM reports 
WHERE date > DATE_SUB(NOW(), INTERVAL ".$dateMax." MONTH)" 

我找不到任何有關將NOW函數更改爲相對日期的文檔。任何幫助,將不勝感激。

喜歡的東西:

$query =  
"SELECT * FROM reports 
WHERE date > DATE_SUB(NOW() - ".$dateMin." MONTH, INTERVAL ".$dateMax." MONTH)" 

將是真正偉大的,但它只是不工作。

回答

1
$query = " 
SELECT 
    * 
FROM 
    reports 
WHERE 
    date BETWEEN (CURRENT_DATE - INTERVAL $dateMin MONTH) AND (CURRENT_DATE - INTERVAL $dateMax MONTH); 
"; 

另一種選擇將是一個日期,而不是CURRENT_DATE:

date BETWEEN ('2009-08-01' - INTERVAL $dateMin MONTH) AND ('2008-08-01' - INTERVAL $dateMax MONTH); 
相關問題