Оператор декодирования SQL

Я пытаюсь использовать оператор SQL Decode для декодирования (D.code, 2, 'Resident', else, 'Business'). Описание. Есть ли способ идентифицировать все остальное в операторе декодирования?


person Janice Kirkpatrick    schedule 13.08.2013    source источник
comment
Я предполагаю, что вы используете oracle, поскольку DECODE, насколько мне известно, не является выражением ansi sql. Кроме того, я не совсем понимаю вопрос.   -  person Joe Phillips    schedule 13.08.2013
comment
Это может помочь: stackoverflow.com/questions/ 3212059 /   -  person Joe Phillips    schedule 13.08.2013


Ответы (2)


Да, есть:

decode ( <condition>, <test expr #1>, <result #1>, ..., <test expr #n>, <result #n>, <fallback result>);

однако в стандартном sql вы должны использовать

case <condition>
    when <test expr #1> then <result #1>
    ...
    when <test expr #n> then <result #n>
    else                     <fallback result>
end
person collapsar    schedule 13.08.2013

У вас правильный базовый синтаксис, за исключением того, что вы не используете "else" в функции DECODE. В круглых скобках сначала нужно декодировать, затем пары код / ​​описание, а затем, наконец, необязательное значение по умолчанию (else).

Вот образец того, что я использую:

DECODE(status,'A','Approved','D','Declined','I','Counter Offer','Other')

Удачи,

Марвин

person MarvinM    schedule 05.06.2019