原来的SQL语句如下:
select decode(field1,value1,result,0) from table其中filed1是table中的一个字段
现在我想实现多值判断但如下写法肯定不对
select decode(field1=value1 and field2=value2,result,0) from table请问应该如何写?谢谢

解决方案 »

  1.   

    这种用case函数吧
    select (case  when field1=value1 and field2=value2 then result else 0 end) from table
      

  2.   

    如果非要用decode,且field1,field2是数字型,可用
    select decode(sign(field1+field2-value1-value2),0,result,0) from table
      

  3.   


    1,用case when 语句搞定
    select (case when (field1=value1 and field2=value2) then result else 0 end) 
    from table2,试试这种能写法
    select decode((field1=value1 and field2=value2), true,result ,0) from table
     
      

  4.   

    select case when cfield1=value1 and field2=value2 then result else 0 end case from table;
      

  5.   

    decode 和 case when 本来就是共同的
      

  6.   

    CASE WHEN 功能好像很强大!