我现在有个表table1,表中有两个子段1:IP, 2:currentTime
currentTime的格式为:yyyy-MM-dd HH:mm:ss
我想select下table1,将符合条件的第一条记录的IP取出来
条件是:拿当前系统时间减去表中currentTime时间的值小于10秒sqloracle 复合查询

解决方案 »

  1.   

    select ip from table1 where (SYSDATE-currentTime)*24*3600 < 10
      

  2.   

    select ip from table1 where (SYSDATE-currentTime)*24*3600 < 10 and rownum=1;
      

  3.   

    报错了:
    Inconsistent datatypes: (INTERVAL DAYTIME,NUMBER) are not compatible in expression ((SYSDATE - TABLE1.CURRENTTIME) * CAST(24 AS BINARY_DOUBLE) * CAST(3600 AS BINARY_DOUBLE) < 10)
      

  4.   

    CURRENTTIME不是date类型?timestamp还是varchar2
      

  5.   

    我解决了哈,将表达式写成这样就行了:currentTime > SYSDATE - 10 / 24 / 3600就好啦