如何比较Oracle的两个DateTime列

Gab*_*mos 1 sql oracle comparison select

我有一个列,我在事件发生时插入日期(本地存储),以及事件发送到我的系统的日期.

活动日期和发送日期之间的差异不能超过168小时(7天).

我想选择事件数据+ 168h低于发送数据的所有行.

就像是:

SELECT * FROM SALE
WHERE (DAT_SALE + 168HOUR) < DAT_SEND_SALE;
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 6

用一个 interval

SELECT * 
FROM sale
WHERE (dat_sale + interval '168' HOUR) < dat_end_sale;
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地使用7天:

SELECT * 
FROM sale
WHERE (dat_sale + 7) < dat_end_sale;
Run Code Online (Sandbox Code Playgroud)

当一个整数加上(或减去)一个datetimestamp那个数字时隐含的天数.

  • 也许值得一提的是,如果你在时间戳中添加一个数字(不一定是整数),结果就是一个日期,所以你会丢失任何小数秒或时区信息; 这可能有关也可能没有意义...... (4认同)