日期:2014-05-17  浏览次数:20867 次

decode函数问题。。在线等~
原来的SQL语句如下:
select decode(field1,value1,result,0) from table

其中filed1是table中的一个字段
现在我想实现多值判断

但如下写法肯定不对
select decode(field1=value1 and field2=value2,result,0) from table

请问应该如何写?谢谢


------解决方案--------------------
这种用case函数吧
select (case when field1=value1 and field2=value2 then result else 0 end) from table
------解决方案--------------------
如果非要用decode,且field1,field2是数字型,可用
select decode(sign(field1+field2-value1-value2),0,result,0) from table
------解决方案--------------------
探讨
原来的SQL语句如下:
select decode(field1,value1,result,0) from table

其中filed1是table中的一个字段
现在我想实现多值判断

但如下写法肯定不对
select decode((field1=value1 and field2=value2),result,0) from table

请问应该如何写?谢谢

------解决方案--------------------
select case when cfield1=value1 and field2=value2 then result else 0 end case from table;