A analogia mais próxima é o
SWITCH()
função, por exemplo Oráculo:
SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',
10001, 'Microsoft',
10002, 'Hewlett Packard',
'Gateway') result
FROM suppliers;
Mecanismo de banco de dados de acesso
SELECT supplier_name,
SWITCH(supplier_id = 10000, 'IBM',
supplier_id = 10001, 'Microsoft',
supplier_id = 10002, 'Hewlett Packard',
TRUE, 'Gateway') AS result
FROM suppliers;
Observe que com o
SWITCH()
função você tem que fornecer o predicado completo a cada vez, então você não está restrito a usar apenas vendor_id. Para o valor padrão, use um predicado que seja óbvio para o leitor humano que é TRUE, por exemplo. 1 = 1
ou simplesmente TRUE
:) Algo que pode não ser óbvio é que a lógica no
SWITCH()
A função não entra em curto-circuito, o que significa que cada expressão na função deve poder ser avaliada sem erros. Se você precisar de lógica para curto-circuito, precisará usar IIF()
aninhado funções.