3

我想选择当前日期和 3 个月前之间的所有日期。我尝试使用此查询,但它无法正常工作。

$sql = mysql_query("
    SELECT * 
    FROM date 
    WHERE d_date BETWEEN NOW() AND NOW() - INTERVAL 3 MONTH 
");

如果你能帮我写出正确的语法,请。

4

2 回答 2

4

你需要交换你的边界,它会起作用:

SELECT * FROM date
WHERE d_date BETWEEN now() - INTERVAL 3 MONTH AND now()

例如,此查询返回 true ( SQLFiddle ):

SELECT (now() - interval 1 month)
    BETWEEN now() - interval 3 month AND now()
于 2013-01-03T08:34:28.597 回答
0
SELECT * FROM Table 
WHERE anydate_col BETWEEN NOW() AND DATE_ADD( NOW() , INTERVAL +3 MONTH)
于 2013-11-20T12:32:42.477 回答