查询两个相对日期,MySQL

时间:2011-06-02 06:02:45

标签: php mysql

我有这个功能,但我希望用户能够在1到2个月之间,或者6到19个月或者其他任何时间进行搜索。

$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 个答案:

答案 0 :(得分: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);
相关问题