Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

if(condition, then, else) no Oracle


Para complementar o restante das respostas aqui, que lidam principalmente com valores NULL e COALESCE/NVL/NVL2:
SELECT *
FROM TheTable
WHERE field1 = CASE field2 WHEN 0 THEN 'abc' WHEN 1 THEN 'def' ELSE '' END

As declarações CASE não são tão sucintas, obviamente, mas são voltadas para a flexibilidade. Isso é particularmente útil quando suas condições não são baseadas em NULL-ness.