|
Desde Oracle 9i, la expresión CASE permite utilizar la lógica IF-THEN-ELSE en sentencias SQL sin tener que invocar procedimientos, siendo por tanto mucho más potente que la función DECODE.
case when x = y then a else b end
case when x < y then a when x = y then b else c end
case XYZ when 'foo' then 'moo' else 'bar' end
Ejemplos:
SELECT ename, empno,
(CASE deptno WHEN 10 THEN 'Accounting' WHEN 20 THEN 'Research' WHEN 30 THEN 'Sales' WHEN 40 THEN 'Operations' ELSE 'Unknown' END) department
FROM emp
ORDER BY ename;
SELECT ename, empno,
(CASE WHEN sal < 1000 THEN 'Low' WHEN sal BETWEEN 1000 AND 3000 THEN 'Medium' WHEN sal > 3000 THEN 'High' ELSE 'N/A' END) salary
FROM emp
ORDER BY ename;
Referencias:
|
|
Última modificación ( 09.07.2010 )
|