TO LGQDUCKY:
具体到秒。谢谢!!

解决方案 »

  1.   

    TO mosaic:
    谢谢!!那这样是可以查看多少秒或多少分或以上,但我如果希望满一分就以几粉几秒来记怎么办?例如12:20:20-12:20:05结果显示00:00:15;又12:30:10-11:20:02结果显示01:10:08,这样行吗??谢谢!!!!
      

  2.   

    oracle应该没有满足这种需求的函数,只好自己算吧. 如果不足1天的话可以用类似
    select substr(to_char(to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')+(to_date('20031017021104','YYYYMMDDHHMISS')-to_date('20031017021001','YYYYMMDDHHMISS') )-1,'yyyy-mm-dd hh24:mi:ss'),12,10) from dual
    的语句来凑合,超过24小时得另算. 
    不知道哪位有高招?
      

  3.   

    to smallcrocodile:
    你说ORACLE里有这样的函数,能计算相隔时间,结果以YY:MM:DD:HH:MM::SS的格式显示吗?
    能帮我找一下是哪个函数吗?谢谢!!
      

  4.   

    CREATE OR REPLACE FUNCTION sec_div(sec NUMBER) 
    RETURN VARCHAR2
    IS
      i NUMBER(20,14);
      h INTEGER;
      m INTEGER;
      s INTEGER;
      result VARCHAR2(20) ;
    BEGIN
      i:=sec/3600;
      IF trunc(i)>0 THEN
        h:=trunc(i);
        i:=i-trunc(i);
      ELSE 
        h:=0;  
      END IF;
      IF i*60>0 THEN
        m:=trunc(i*60);
        i:=i*60-trunc(i*60);
      ELSE 
        m:=0;  
      END IF;
      IF i*60>0 THEN
        s:=round(i*60);
      ELSE 
        s:=0;  
      END IF;
      result:=to_char(h)||'时'||to_char(m)||'分'||to_char(s)||'秒';
      RETURN(Result);
    END sec_div;
    http://expert.csdn.net/Expert/topic/1843/1843455.xml?temp=.1831171
      

  5.   

    如果只要时分秒,那倒是很简单,把结果和一个0点0分0秒的日期相加就可以了:
    SELECT TO_CHAR(TO_DATE ('20000101000000', 'YYYYMMDDHHMISS')
                   + TO_DATE ('20031017021104', 'YYYYMMDDHHMISS')
                   - TO_DATE ('20031017021001', 'YYYYMMDDHHMISS'),
                  'HHMISS')
      FROM DUAL;
      

  6.   

    楼上mosaic(影子)老兄已经回复了相同的内容,刚才没看到。不好意思。
      

  7.   

    再考虑了一下,超过24小时但是小于28天(最短的一个月)的也容易做到,在上面的结果中对日期减一就可以了
    SELECT TO_NUMBER(TO_CHAR(TO_DATE ('20000101000000', 'YYYYMMDDHHMISS')
                   + TO_DATE ('20031017021104', 'YYYYMMDDHHMISS')
                   - TO_DATE ('20031017021001', 'YYYYMMDDHHMISS'),
                  'DDHHMISS'))-1000000
      FROM DUAL;但是超过一个月的话就比较麻烦了,因为每个月的日期数不等