Databases
T01-007-01 Funciones aritméticas
Enunciado
A continuación se muestran una tabla con las funciones aritméticas de uso más común junto con el resultado que se obtiene con su uso.
Función
Descripción
ABS(n)
Devuelve el valor absoluto de un número
CEIL(n)
Devuelve el valor entero inmediatamente superior o igual a n
FLOOR(n)
Devuelve el valor entero inmediatamente inferior o igual a n
MOD(m, n)
Devuelve el resto de la división entera entre m y n
NVL(valor, expresión)
Se usa para asignar un valor a valores nulos.
POWER(m, exp)
Devuelve la potencia de un número. ’m’ elevado a ‘exp’
ROUND(número [,m])
Devuelve el número redondeado a ‘m’ decimales.
SIGN(valor)
Devuelve el signo del valor (-1 negativo y 1 positivo)
SQRT(n)
Devuelve la raíz cuadrada de n
TRUNC(número, [m])
Trunca número para que tenga un cierto número de dígitos (con m decimales)
La lista completa de funciones la podéis obtener de la documentación de Funciones numéricas en Oracle.
Comenzaremos los ejemplos con la función ABS, la cual devuelve el valor absoluto de un número, es decir, el mismo número, pero sin signo.
Ejemplo:
A continuación vemos el resultado de aplicar la función ABS() a números positivos y negativos:
SELECT ABS(3), ABS(-3), ABS(5-2), ABS(2-5)
FROM DUALLa tabla
DUALes una tabla especial de una sola columna presente de manera predeterminada en todas las instalaciones de bases de datos de Oracle. Se utiliza para seleccionar una seudocolumna comoSYSDATE,USERo probar funciones, como es nuestro caso.
ABS(3) ABS(-3) ABS(5-2) ABS(2-5) 3 3 3 3 Ejercicio:
Sabiendo que el salario de aquellos que tienen el trabajo AD_VP es de 17000, muestra el nombre, apellidos, salario y "DIFERENCIA SALARIAL" de todos los que tengan un trabajo cuyo identificador comience tambien por AD
Tipo
Solución
SELECT FIRST_NAME, LAST_NAME, SALARY, ABS(SALARY - 17000) AS "DIFERENCIA SALARIAL"
FROM HR.employees
WHERE JOB_ID LIKE 'AD%'
Prueba
LibrerÃas (Onfly databases)

