我正在努力解决这个问题并遇到语法错误。
尝试获取仍在进行的广告系列,即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()
由于
答案 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()