Sei sulla pagina 1di 10

Funciones de Conversión

Funciones Anidadas, Funciones Generales


Aplicar expresiones condicionales en la sentencia SELECT
Funciones anidadas

 Las funciones de filas pueden anidadas a cualquier nivel


 Las funciones anidadas pueden ser evaluadas desde la más
interna hasta la más externa.

• F3(F2(F1(col, arg1), arg2), arg3)


Funciones Generales

 La siguiente función trabaja con cualquier tipo de dato y


valores NULL

• NVL(expr1, expr2)
• NVL2 (expr1, expr2, expr3)
• NULLIF (expr1, expr2)
• COALESCE (expr1, expr2, …, exprn)
Función NVL

 Convierte un valor NULL en un valor actual.


 El tipo de dato puede ser, date, caracter, number.
 El tipo de dato debe ser el mismo.

• NVL(commission_pct, 0)
• NVL(hire_date, ’01-JAN-97’)
• NVL(job_id, ‘No Job Yet’)
Función NVL2

 La función evalúa la primera expresión, si esta no es NULL, la


función retorna la segunda expresión.
 Si la primera expresión es NULL, la tercera expresión es
retornada

• NVL2(expr1, expr2, expr3)


• NVL(commission_pct,’SAL+COMM’, ‘SAL’)
Función NULLIF

 La función se encarga de evaluar dos expresiones, si son


iguales retorna NULL, se lo contario, mostrará la primera
expresión

• NULLIF(expr1, expr2)
• NULLIF(LENGTH(first_name), LENGTH(last_name))
Función COALESCE

 La ventaja de esta función con respecto a la NVL es que puede tomar


múltiples valores
 La función devuelve el primer valor no NULL, que se encuentre en la lista.
La expr1 es retornada si no es NULL; la expr2 es retornada si la expr1 es
NULL y esta no lo es.
 Todas la expresiones deben ser del mismo tipo de dato.

• COALESCE(expr1, expr2, …, exprn)


Expresiones condicionales

IF expr THEN
{
Expresión CASE
}
ELSE
Función DECODE
{
}
Expresión CASE

 Facilita las condiciones dentro de los querys, haciendo el trabajo del


IF-THEN-ELSE

CASE expr WHEN comparison_expr1 THEN retun_expr1


[WHEN comparison_expr2 THEN retun_expr2
WHEN comparison_exprn THEN retun_exprn
ELSE else_expr]
END
Expresión DECODE

 Facilita las condiciones dentro de los querys, haciendo el trabajo del


CASE ó IF-THEN-ELSE

DECODE (col/expression, search1, result1


[, search2, result2, …,]
[, default])

Potrebbero piacerti anche