日期:2014-05-16  浏览次数:20682 次

请教一个SQL语句的写法,求赐教~~
比如我现在有一个这样的表结构,如下:

create table
{
  a number(12),
  b number(12),
  c date
}

那么现在我想将超过当前系统时间两个小时的数据全部查出来,也就是sysdate-c >= 2的记录,这样的SQL该如何写啊,求大神赐教,谢谢了~

------解决方案--------------------
超过当前系统时间两个小时的数据

超过的话 应该是c-sysdate吧? 思路就这样了 天数差*24 得到小时差 比较就可以了

SQL code
select *
from tb1
where c>=sysdate and (c-sysdate)*24 <= 2

------解决方案--------------------
超过当前系统时间两个小时是以系统时间前推2小时?
另一种方式,直接用函数
SQL code
SELECT * FROM tab WHERE c>=(SYSDATE-numtodsinterval(2,'hour'));