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