FUNCIONES MATEMATICAS
Las funciones matermaticas son operaciones que se realizan con expreciones numericas retornando un resultado, las funciones numericas aceptan parametros de entrada tipo numerico y retornan valores numericos. unas funcines numericas de oracle son:
ABS(x)
retorna un valor absoluto del parametro x
ejemplo:
SELECT ABS(-20) FROM DUAL; // El retorno de la consulta es 20
CEIL(x)
redondea a entero, hacia arriba el parametro x
ejemplo
SELECT CEIL(12.12) FROM DUAL // El retorno de la consulta es 13
SELECT first_name, salary, CEIL(commission_pct), hire_date FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
FLOOR(x)
redondea a entero, hacia abajo el parametro x
ejemplo
SELECT FLOOR(12.12) FROM DUAL // El retorno de la consulta es 12
SELECT first_name, salary, FLOOR(commission_pct), hire_date FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
MOD(x,y)
devuelve el residuo de la división x/y.
Ejemplos:
SLECT first_name,salary, commission_pct, hire_date, MOD(salary,COMMISSION_PCT) FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
POWER(x,y)
retorna el valor de "x" elevado a la "y" (potencia). Ejemplo:
SELECT POWER(2,3) from dual;--retorna 8.
SELECT first_name, salary, commission_pct, hire_date, power(salary,COMMISSION_PCT) FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
ROUND(n,d)
retorna "n" redondeado a "d" decimales; Ejemplo:
SELECT round(123.456,2) FROM dual;-- retorna "123.46", es decir, redondea desde el segundo decimal.
SELECT round(123.456,1) FROM dual;-- 123.5, es decir, redondea desde el primer decimal.
SELECT first_name, salary, commission_pct, hire_date, ROUND(power(salary,COMMISSION_PCT),2) from EMPLOYEES where COMMISSION_PCT is not null;
SING(x)
si el parametro x es un valor positivo, retorna 1, si es negativo, devuelve -1 y 0 si es 0. Ejemplo:
SELECT sign(-120) from dual;--retorna -1 SELECT sign(120) from dual;--retorna 1
SELECT first_name, salary, SING (commission_pct), hire_date FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
SQRT(x)
devuelve la raiz cuadrada del valor enviado como argumento. Ejemplo:
SELECT SQRT(9) FROM dual;--retorna 3
SELECT first_name, sqrt(salary), commission_pct, hire_date FROM EMPLOYEES WHERE COMMISSION_PCT is not null;
TRUNC(N,D)
trunca un número a la cantidad de decimales especificada por el segundo parametro
Ejemplo:
SELECT trunc(1234.5678,2) FROM dual;--retorna 1234.56
SELECT trunc(1234.5678,-1) FORM dual;--retorna 1230
SELECT first_name, TRUNC(sqrt(salary),2), commission_pct, hire_date FROM EMPLOYEES WHERE COMMISSION_PCT is not null;