MySQL添加日期字段并与今天的where子句进行比较

时间:2017-04-20 14:02:29

标签: mysql

我正在努力解决这个问题并遇到语法错误。

尝试获取仍在进行的广告系列,即start_date + duration_days>> =今天。

我还尝试使用DATE_ADD获得相同的结果。

start_date是DATE字段,而duration_days是INT。

SELECT id,start_date,duration_days
                FROM `myTable`
                WHERE start_date + INTERVAL duration_days DAYS >= CURDATE()

由于

2 个答案:

答案 0 :(得分:1)

将时间间隔更改为DAY而不是DAYS,这是引发错误的原因。

SELECT id,start_date,duration_days
            FROM `myTable`
            WHERE start_date + INTERVAL duration_days DAY >= CURDATE()

答案 1 :(得分:0)

您需要使用DATE_ADD和DATE_SUB函数来操作日期而不是算术运算符:

SELECT id,start_date,duration_days
FROM `myTable`
WHERE DATE_ADD(start_date, INTERVAL duration_days DAYS) >= CURDATE()