Decode |
SELECT DECODE ( vCargo, 1, ‘Presidente’, 2, ‘Diretor’, 3, ‘Gerente’, ‘Funcionário’ ) FROM dual; |
Case Simples |
SELECT CASE vCargo WHEN 1 THEN ‘Presidente’ WHEN 2 THEN ‘Diretor’ WHEN 3 THEN ‘Gerente’ ELSE ‘Funcionário’ END FROM dual; |
Case com Pesquisa |
SELECT CASE WHEN vCargo = 1 THEN ‘Presidente’ WHEN vCargo = 2 THEN ‘Diretor’ WHEN vCargo = 3 THEN ‘Gerente’ ELSE ‘Funcionário’ END FROM dual; |
Case x Decode, Quem vence?
Implementado na versão Oracle 8.1.6, o Case é o melhor. Ele é mais flexível, tem uma melhor performance de execução, é mais fácil para leitura e escrita e conseqüentemente é mais fácil de eliminar erros e manter uma codificação mais elegante.