DECODE(x,m1,r1[,m2,r2,[])
  x是一个表达式,m1是一个匹配表达式,x与m1比较,如果m1等于x,那么返回r1,否则,x与m2比较,依次类推m3,m4,m5....直到有返回结果
例如: 
select decode('asdf','asd','0','asdf','1') from dual ;
最后返回的结果是: 1
select decode('asdf','asd','0','as','1','4') from dual ;
最后返回的结果是: 4

解决方案 »

  1.   

    "如果字段c的数据是由字段A/字段B得来的,用decode该怎么写" 
    具体什么意思呢,举个例子看看
      

  2.   

    你的意思是不是对c赋值?c=decode(a,x1,b,x2);
      

  3.   

    select DECODE('字段A','值1',结果1,‘值2’,结果2,字段C) FROM TABLE
      

  4.   

    字段c = 字段A / 字段B
      

  5.   

    如果字段c = 字段A / 字段B
    写个子查询,把字段A / 字段B当作一个新字段就可以了