如何在当前日期两周后提取日期?
实施例
SELECT blabla
FROM table
WHERE blabla IN [sysdate + 2 weeks]
答案 0 :(得分:7)
怎么样......?
SELECT blabla
FROM table
WHERE blabla > SYSDATE AND blabla < SYSDATE +14;
此SYSDATE +x
表示从现在开始x
天。
p.s。:对于日期现在+14 的记录,请使用...
SELECT blabla
FROM table
WHERE blabla LIKE SYSDATE +14;
Ben指出, p.p.s。,使用LIKE
可能存在风险,因为它取决于nls_date_format
参数。请注意设置适当的格式或查看Gordons方法。 @Ben:谢谢你的注意。
希望这有帮助......干杯!
答案 1 :(得分:3)
当你这样做时,你需要注意时间分数。如果您不关心索引,那么您可以这样做:
where trunc(blabla) = trunc(sysdate) + 14
但是,由于该功能,这可能会妨碍使用索引。解决这个问题的一种方法是:
where blabla >= trunc(sysdate) + 14 and blabla < trunc(sysdate) + 15
答案 2 :(得分:1)
为了更符合标准并避免类型转换,请使用CURRENT_DATE获取日期,使用INTERVAL为其添加时间间隔。
SELECT blabla
FROM table
WHERE blabla = CURRENT_DATE + INTERVAL '14' DAY