1

我有一张桌子喜欢:

VALID_FROM | VALID_TO   | stock
2020-10-01 | 2020-10-02 | 10
2020-10-02 | 2020-10-04 | 9
2020-10-04 | 2020-10-08 | 5
...        | ...        |
2020-12-15 | 2020-12-16 | 0

我需要为特定日期设置日期范围:

'2020-11-26' - 2 周 / 14 天 '2020-11-26' + 2 周 / 14 天

我可以只使用固定日期,例如

SELECT *
FROM table AS t
WHERE t.VALID_FROM >= '2020-11-12'
AND t.VALID_TO <= '2020-12-10'

但是日期范围可能会改变,我想只添加几天或几周,而不必每次都使用日历。

所以像:

SELECT *
FROM table AS t
WHERE t.VALID_FROM >= '2020-11-26' - INTERVAL '14' DAY
AND t.VALID_TO <= '2020-11-26' + INTERVAL '14' DAY

但这给了我错误信息:

不支持的功能:无法从 INTERVAL DAY(2) TO SECOND(3) 转换为 DOUBLE

4

1 回答 1

1

尝试使用该add_days()功能:

WHERE t.VALID_FROM >= add_days('2020-11-26', -14) AND
      t.VALID_TO <= add_days('2020-11-26', -14)
于 2020-12-18T12:33:58.310 回答