有A,B两列,按以下原则计算值
若A,B同时为0则取0,
否则若A,B之一为0 则取1
其余情况取 A-B/A求SQL 语句
谢谢

解决方案 »

  1.   

    SELECT
    DECODE(A,0,
    DECODE(B,0,0,1),
    DECODE(B,0,1,A-B/A)
    ) AS result
    FROM TBL;
      

  2.   

    SELECT
    DECODE(A,0,
      DECODE(B,0,0,1),   -- A=0 进一步判断B 若B=0 则值为0 否则为1
      DECODE(B,0,1,A-B/A) -- A<>0 进一步判断B 若B=0 则值为1 否则表名AB均非0 取A-B/A
    ) AS result
    FROM TBL;
      

  3.   

    select 
    decode((sign(abs(a))+sign(abs(b))),0,0,1,1,(a-b)/a) value
    from table;
      

  4.   

    select decode(a,0,decode(b,0,0,1),decode(b,0,1,(a-b)/a)) from table