Programación de Bases de Datos con SQL
5-2: Funciones NULL
Actividades de Práctica
Objetivos
• Mostrar y explicar la evaluación de una función anidada
• Enumerar al menos cuatro funciones generales que funcionan con cualquier tipo de dato
y están relacionadas con el tratamiento de valores nulos
• Explicar el uso de las funciones COALESCE y NVL
• Explicar el uso de funciones generales para tratar con valores nulos en los datos
• Crear y ejecutar una consulta SQL que aplica correctamente las funciones NVL NVL2, NULLIF
y COALESCE de una sola fila
Terminología
Identifique el término para cada una de las siguientes definiciones.
Convierte los valores nulos en un valor real
Devuelve la primera expresión no nula en la lista
Examina la primera expresión; si la primera expresión no es
nula, devuelve la segunda expresión; si la primera expresión es
nula, devuelve la tercera expresión
Compara dos expresiones; si son iguales, la función devuelve
un valor nulo; si no son iguales, la función devuelve la primera
expresión
Inténtelo/Resuélvalo
Utilice los alias para obtener una salida más legible.
1. Genere un informe que muestre el nombre de promoción de Global Fast Foods, la fecha de
inicio y la fecha de finalización de la tabla f_promotional_menus. Si hay una fecha de
finalización, sustitúyala de forma temporal por “end in two weeks”. Si no hay ninguna fecha de
finalización, sustitúyala por la fecha actual.
2. No todos los miembros del personal de Global Fast Foods reciben una paga por horas extra. En
lugar de mostrar un valor nulo para estos empleados, sustituya el valor nulo por cero. Incluya el
apellido del empleado y la tarifa de horas extra en la salida. Etiquete la tarifa de horas extra
como “Overtime Status”.
Copyright © 2020 Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
3. El jefe de Global Fast Foods ha decidido conceder una tarifa de horas extra de 5,00 $ a todos
los miembros del personal que no ganan actualmente una paga por horas extra. Cree una
consulta que muestre los apellidos y la tarifa de horas extra de cada miembro del personal,
sustituyendo cada valor nulo de hora extra por 5,00 $.
4. No todos los miembros del personal de Global Fast Foods tienen un jefe. Genere una consulta
que muestre el apellido del empleado y 9999 en la columna del ID de jefe para estos empleados.
5. ¿Cuáles de las siguientes sentencias devolverán un valor nulo si el valor de v_sal es 50?
a. SELECT nvl(v_sal, 50) FROM emp;
b. SELECT nvl2(v_sal, 50) FROM emp;
c. SELECT nullif(v_sal, 50) FROM emp;
d. SELECT coalesce (v_sal, Null, 50) FROM emp;
6. ¿Qué devuelve esta consulta realizada en la tabla Global Fast Foods?
SELECT COALESCE(last_name, to_char(manager_id)) as NAME
FROM f_staffs;
7.
a. Cree un informe que muestre el nombre y apellido y el mes de contratación de todos los
empleados de la tabla EMPLOYEES (utilice TO_CHAR para convertir hire_date de modo que
muestre el mes).
b. Modifique el informe para mostrar un valor nulo si el mes de contratación es septiembre.
Utilice la función NULLIF.
8. Sustituya todos los valores nulos de la columna de especialidad de la tabla d_partners de DJs
on Demand por “No Specialty”. Muestre solo las columnas de nombre y especialidad.
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios