Oracle中的解码功能
我有这样的情况 if(someparam!=value1) someparam=1 if(someparam!=value2) someparam=2 默认值=1 如何在这种情况下使用解码功能Oracle中的解码功能,oracle,Oracle,我有这样的情况 if(someparam!=value1) someparam=1 if(someparam!=value2) someparam=2 默认值=1 如何在这种情况下使用解码功能 DECODE(SomeParam, Value1, DECODE(SomeParam, Value2, 1, 2), 1) 但情况更好: case when someparam != Value1 then 1 whene someparam != Value2 then 2 else
DECODE(SomeParam, Value1, DECODE(SomeParam, Value2, 1, 2), 1)
但情况更好:
case when someparam != Value1 then 1
whene someparam != Value2 then 2
else 1
end
与value1的整个比较似乎是多余的,因为它只会变成默认值
解码(SomeParam,SomeParam!=value1,1,
someParam!=值2,2,1)
默认值与评估someparam时相同!=因此,Value1可以将其简化为:
解码(SomeParam,SomeParam!=value2,2,1)
我希望这能有所帮助:-)对于非价值1和非价值2的东西,预期的结果是什么?
decode(someparam, value2, 1, 2)