decode(n,1,'a',2,'b',3,'c','d')
相当于switch (n)
case 1: a
case 2: b
case 3: c
defalut 'd'//其它情况

解决方案 »

  1.   

    我的意思是:
      在A表中有A,B,C1,C2,C3,C4字段,实现的功能是:
       if (A>10 AND B=1)
             取C1
       if (A>10 AND B=2)
             取C2
       if (A<=10)
             取C3
    在最后的记录集中,应为以下结构:
             字段
              
      

  2.   

    9i中才有case()函数否则就用decode来取代
      

  3.   

    decode(sign(a-10),1,decode(b,1,c1,2,c2),c3)
      

  4.   

    decode((sign(a-10)+decode(b,1,1,2,2,0)),2,c1,3,c2,c3)
    不太好写,这样可能对a=10的情况有问题
    a<=10时,b有几种可能?
      

  5.   

    decode((sign(a-10)+decode(b,1,1,2,2,0)),2,c1,3,c2,c3)
    不太好写,这样可能对a=10的情况有问题
    a<=10时,b有几种可能?
      

  6.   

    decode((sign(a-10)+decode(b,1,1,2,2,0)),2,c1,3,c2,c3)
    不太好写,这样可能对a=10的情况有问题
    a<=10时,b有几种可能?
      

  7.   

    弱水兄的写法没问题啊a-10>0时返回decode(b,1,1,2,2,0)
    其它:c3很正确啊
      

  8.   

    弱水兄的写法没问题啊a-10>0时返回decode(b,1,1,2,2,0)
    其它:c3很正确啊