lunes, 31 de octubre 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?