select (sysdate - to_date('2006-10-12 10:25:10', 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 *60 from dual这样可以得到两个时间间隔的秒数,要??小时??分钟??秒显示恐怕很困难。

解决方案 »

  1.   

    idle>declare
      2  N number default 10000;
      3  ret varchar2(100);
      4  begin
      5  select to_number((sysdate - to_date('2006-10-10 23:00:09','yyyy-mm-dd hh24:
    mi:ss'))*24*3600)
      6         into n from dual ;
      7  ret := to_char(trunc(n/3600)) || '小时' || to_char(to_date(mod(n,3600),'SSS
    SS'),'mi"分 "ss"秒"') ;
      8  dbms_output.put_line(ret);
      9  end ;
     10  /
    65小时59分 22秒PL/SQL 过程已成功完成。
      

  2.   

    -------
    ret := to_char(trunc(n/3600)) || '小时' || to_char(to_date(mod(n,3600),'SSS
    SS'),'mi"分 "ss"秒"') ;
    dbms_output.put_line(ret);
    -------
    给改下 select floor(n/3600)||'小时'||floor(mod(n,3600)/60)||'分钟'||Mod(n,60)||'秒'
           from dual;