create view b(opentime,closetime,inservtime)
as 
   select opentime,closetime,
(case when closetime='0000'  then '1440'
   else 
    to_number(closetime)-to_number(opentime) end) inservtime
   from a

解决方案 »

  1.   

    不好意思,我想知道oracle下怎么写
    楼上写的是sql的
      

  2.   

    SELECT OPERTIME,
           CLOSETIME,
           (CASE
             WHEN CLOSETIME = '0000' THEN
              '1440'
             ELSE
              TO_CHAR(TO_NUMBER(CLOSETIME) - TO_NUMBER(A.OPERTIME))
           END) INSERVTIME
      FROM A
    oracle 可以这样写的。
      

  3.   

    create view b(opentime,closetime,inservtime)
    as 
    select opentime,closetime,
    decode(closetime,'0000','1440',to_number(closetime)-to_number(opentime)) inservtime
    from a