miércoles, 2 de noviembre de 2016

CASE

Las expresiones CASE le permiten utilizar la lógica IF-THEN-ELSE en sentencias SQL sin llamar a procedimientos.

En una expresión CASE simple, Oracle Server busca el primer par WHEN ... THEN en el que expr sea igual a comparison_expr y devuelve return_expr. 

Si ninguno de los pares WHEN... THEN cumplen esta condición y si existe una cláusula ELSE, Oracle Server devuelve else_expr. De lo contrario, Oracle Server devuelve un valor nulo. No puede especificar el literal NULL para todas las expresiones return_exprs y else_expr.
Todas las expresiones ( expr, comparison_expr y return_expr) deben ser del mismo tipo de datos, que puede ser CHAR, VARCHAR2, NCHAR o NVARCHAR2.

SELECT last_name, job_id, salary 
               CASE job_id WHEN 'IT_PROG'  THEN  1.10*salary 
                                    WHEN 'ST_CLERK' THEN  1.15*salary 
                                    WHEN 'SA_REP'   THEN  1.20*salary 
                                    ELSE  salary END     "REVISED_SALARY" 

FROM   employees;

Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?