从SQL当前日期起两周后的日期

时间:2013-04-21 19:26:20

标签: sql oracle

如何在当前日期两周后提取日期?

实施例

SELECT blabla
FROM table
WHERE blabla IN [sysdate + 2 weeks]

3 个答案:

答案 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