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 DUAL

La tabla DUAL es 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 como SYSDATE, USER o 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

SELECT

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)