Oracle中的解码功能

时间:2010-08-20 06:07:27

标签: oracle

我有一个喜欢的条件 如果(someparam!=值) someparam = 1 如果(someparam!=值2) someparam = 2 默认值= 1

如何在这种情况下使用解码功能

3 个答案:

答案 0 :(得分:7)

DECODE(SomeParam, Value1, DECODE(SomeParam, Value2, 1, 2), 1)

但情况更好:

case when someparam != Value1 then 1
    whene someparam != Value2 then 2
    else 1
end

答案 1 :(得分:0)

 decode(someparam, value2, 1, 2)

与value1的整体比较似乎是多余的,因为它只会转到默认值。

答案 2 :(得分:0)

  

DECODE (SomeParam,someParam!= value1,1,   someParam!= value2,2,1)

默认值与评估某些参数时相同! = Value1因此可以简化它:

  

DECODE (SomeParam,someParam!= value2,2,1)

我希望这会有所帮助: - )