Está en la página 1de 2

Luis Fernando Bermúdez García

Programación de Bases de Datos con SQL


4-2: Funciones Numéricas
Actividades de Práctica
Objetivos
• Seleccionar y aplicar las funciones numéricas de una sola fila ROUND, TRUNC y MOD
en una consulta SQL
• Distinguir entre los resultados obtenidos al aplicar TRUNC a un valor numérico y
aplicar ROUND a un valor numérico
• Definir las consecuencias para el negocio de aplicar los valores numéricos TRUNC y
ROUND

Terminología
Identifique el término para cada una de las siguientes definiciones.

TRUNC Se utiliza para terminar la columna, la expresión o el valor en un


número especificado de posiciones decimales.
Funciones Númericas Estas funciones aceptan entradas numéricas y devuelven
valores numéricos.

MOD Devuelve el resto de una división.

ROUND Redondea la columna, la expresión o el valor a un número


definido de decimales.

Inténtelo/Resuélvalo
1.Muestre last_name y el salario de los empleados de la base de datos Oracle para los
employee_ids entre 100 y 102. Incluya una tercera columna que divida cada salario por
1,55 y redondee el resultado a dos decimales.
SELECT last_name, salary, ROUND (salary*1.55) AS "New Salary"
FROM employees
WHERE department_id BETWEEN '100' AND '102';

2.Muestre last_name y el salario de los empleados que trabajan en el departamento 80.


Conceda a cada uno de ellos un aumento de 5,333% y trunque el resultado a dos
posiciones decimales.
SELECT last_name, salary, ROUND (salary*1.0533) AS "New Salary"
FROM employees
WHERE department_id = 80;

3. Utilice una función numérica MOD para determinar si 38873 es un número par o un
número impar.
SELECT * FROM employees WHERE MOD (employee_id, 2)=0

Base de Datos
Luis Fernando Bermúdez García

4. Utilice la tabla DUAL para procesar los números siguientes:


845,553: redondear a un decimal SELET round(845.553, 1) from dual;

30695,348: redondear a dos decimales SELET round(30695.348, 2) from dual;

30695,348: redondear a -2 decimales SELET round(30695.348, -2) from dual;


2,3454: truncar 454 desde el decimal SELET trunk(2.3454, 2) from dual;

5. Divida cada salario de empleado por 3. Muestre solo los apellidos y salarios de los
empleados que ganan un salario que es un múltiplo de 3.

SELECT last_name
FROM employees WHERE MOD (salary, 3)=0;

6. Divida 34 por 8. Muestre solo el resto de la división. Asigna a la salida el nombre


EXAMPLE.
SELET MOD(34, 8) AS “example” from dual;

7. ¿Cómo desearía que fuera su cheque de pago: redondeado o truncado? ¿Qué ocurre si
su cheque de pago calculado para la semana es por 565,784 $, pero se da cuenta de que
se ha emitido por 565,78 $? La pérdida de 0,004 centavos supondría poca diferencia para
usted. Sin embargo, ¿qué ocurre si esto le pasa a mil personas, 100.000 personas o un
millón de personas? ¿Habría una gran diferencia? ¿Cuánta diferencia?
Habria una diferencia de 400 con 100,000 personas y de 4,000 con el millón de personas.
Preferiria que el cheque fuera redondeado.

Base de Datos

También podría gustarte