select * from yz.T_ORG_LOG yz where abs(n,yz.LAST_UPD_DATE,sysdate())<5
这个语句是我去读取一张日志表的,其中,LAST_UPD_DATE是这张日志表的数据更新时间,我想读取这张表中,最新5分钟之内,更新的数据,结果报错
java.sql.SQLException: ORA-00909: invalid number of arguments
请各位大侠指教指教小弟啊。 在线等。

解决方案 »

  1.   

    select * from yz.T_ORG_LOG yz where (sysdate -yz.last_upd_date)*24*60 <5
      

  2.   

    abs是返回参数的绝对值,只能有一个参数,你怎么塞了3个呀,而且没看见你的减法……应该是
    select * from yz.T_ORG_LOG yz where ROUND(TO_NUMBER(sysdate - yz.LAST_UPD_DATE) * 24 * 60) < 5;
      

  3.   


    --oracle时间与数字进行加减运算是以天位单位的,所以5分钟=1/(24*12)天
    select * 
    from yz.T_ORG_LOG yz 
    where yz.LAST_UPD_DATE>=sysdate-1/(24*12)