Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Expresiones Condicionales
Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Objetivos
4-2 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Agenda
4-3 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Funciones de Conversión
Tipo de Dato
conversión
4-4 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Conversión Implícita del Tipo de Dato
A De
VARCHAR2 o CHAR NUMBER
VARCHAR2 o CHAR DATE
4-5 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Conversión Implícita del Tipo de Dato
A De
NUMBER VARCHAR2 o CHAR
4-6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Conversión Explícita del Tipo de Dato
TO_NUMBER TO_DATE
TO_CHAR TO_CHAR
4-7 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Conversión Explícita del Tipo de Dato
TO_NUMBER TO_DATE
TO_CHAR TO_CHAR
4-8 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Agenda
4-10 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función TO_CHAR con Fechas
TO_CHAR(date, 'format_model')
El modelo de formato:
• Debe estar entre comillas simples
• Es sensible a mayúsculas/minúsculas
• Puede incluir cualquier elemento de formato de fecha
válido
• Tiene un elemento fm para eliminar los espacios en
blanco o suprimir ceros iniciales
• Está separado del valor de fecha por una coma
4-11 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Elementos del Modelo de Formato de Fecha
Elemento Resultado
YYYY Año completo en números
YEAR Año en letra (en inglés)
MM Valor de dos dígitos del mes
MONTH Nombre completo del mes
4-12 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Elementos del Modelo de Formato de Fecha
4-14 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función TO_CHAR con Fechas
SELECT last_name,
TO_CHAR(hire_date, 'fmDD Month YYYY')
AS HIREDATE
FROM employees;
4-16 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función TO_CHAR con Números
TO_CHAR(number, 'format_model')
4-17 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función TO_CHAR con Números
4-19 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de Funciones TO_NUMBER y TO_DATE
TO_NUMBER(char[, 'format_model'])
TO_DATE(char[, 'format_model'])
4-20 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de las Funciones TO_CHAR y TO_DATE
con el Formato de Fecha RR
Para buscar los empleados contratados antes de 1990, utilice
el formato de fecha RR, que produce los mismos resultados si
se ejecutara el comando en 1999 o en la actualidad:
4-22 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Agenda
4-23 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Funciones de Anidación
F3(F2(F1(col,arg1),arg2),arg3)
Paso 1 = Resultado
1
Paso 2 = Resultado 2
Paso 3 = Resultado 3
4-24 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Funciones de Anidación: Ejemplo 1
SELECT last_name,
UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), '_US'))
FROM employees
WHERE department_id = 60;
4-25 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Funciones de Anidación: Ejemplo 2
4-26 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Agenda
4-27 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Funciones Generales
4-28 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Función NVL
4-29 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función NVL
1
SELECT last_name, salary, NVL(commission_pct, 0),
(salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL
FROM employees;
2
…
1 2
4-30 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función NVL2
1 2
4-31 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función NULLIF
1
SELECT first_name, LENGTH(first_name) "expr1",
last_name, LENGTH(last_name) "expr2", 2
NULLIF(LENGTH(first_name), LENGTH(last_name)) result 3
FROM employees;
…
1 2 3
4-32 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función COALESCE
4-33 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función COALESCE
4-34 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Agenda
4-36 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Expresiones Condicionales
4-37 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Expresión CASE
4-38 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Expresión CASE
4-39 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Función DECODE
4-40 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función DECODE
4-41 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Uso de la Función DECODE
4-42 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Prueba
4-43 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Resumen
4-44 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Práctica 4: Visión General
4-45 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.