Функция декодирования в Oracle - PullRequest
3 голосов
/ 20 августа 2010

У меня есть условие вроде if (someparam! = Value1) someparam = 1 if (someparam! = Value2) someparam = 2 Значение по умолчанию = 1

Как использовать функцию декодирования для этого условия

Ответы [ 3 ]

7 голосов
/ 20 августа 2010
DECODE(SomeParam, Value1, DECODE(SomeParam, Value2, 1, 2), 1)

но дело лучше:

case when someparam != Value1 then 1
    whene someparam != Value2 then 2
    else 1
end
0 голосов
/ 23 августа 2010

ДЕКОД (SomeParam, someParam! = Значение1, 1, someParam! = value2, 2, 1)

Значение по умолчанию такое же, как при оценке someparam! = Value1, следовательно, может упростить это так:

ДЕКОД (SomeParam, someParam! = Значение2, 2, 1)

Надеюсь, это поможет: -)

0 голосов
/ 20 августа 2010
 decode(someparam, value2, 1, 2)

Все сравнение со значением1 представляется излишним, поскольку в любом случае оно только переходит к значению по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...