O decode funciona da seguinte maneira:
Entenda o decode como um if, então teremos o seguinte caso.
Variavel := ‘1’;
If variavel = ‘1’ then
return (‘Verdade’);
else
return (‘Falso’);
end if;
Com o decode seria o seguinte:
Variavel := ‘1’;
decode(variavel,’1′,’Verdade’,’False’)
Lendo ficaria decode = If
variavel = variavel
‘1’ = condição de igualdade ou seja, se a variavel for = ‘1’
primeira condição de retorno caso verdadeiro = ‘Verdade’
segunda condição de retorno caso falso = ‘Falso’
para testes execute os seguintes comandos:
select decode(1,1,’V’,’F’) from dual;
Nesse caso 1 é igual a 1 portanto retorna ‘V’
select decode(2,1,’V’,’F’) from dual;
Nesse caso 2 é diferente de 1 portanto retorna ‘F’