FUNCIONES DE ORACLE

FUNCIONES DE ORACLE

Existen en SQL muchas funciones que pueden complementar el manejo de los datos en las consultas. Se utilizan dentro de las expresiones y actuan con los valores de las columnas, variables o constantes.

Se pueden incluir en las clásulas SELECT, WHERE y ORDER BY.

Pueden anidarse funciones dentro de funciones. Y existe una gran variedad de funciones para cada tipo de datos:

aritméticas,

de cadenas de caracteres,

de manejo de fechas,

de conversión,

otras,

de grupo.

FUNCIONES ARITMÉTICAS

Función ABS(n) .
Cometido Calcula el valor absoluto de n
Sintaxis ABS()
Ejemplo select abs(-15) from dual;

Función CEIL(n)
Cometido Calcula el valor entero inmediatamente superior o igual a n.
SintaxisCEIL()
Ejemplo select ceil(15.7) from dual;

Funcion FLOOR(n)
Cometido Calcula el valor entero inmediatamante inferior o igual a n.
Sintaxis FLOOR()
Ejemplo select floor(15.7) from dual;

Función MOD(m,n)
Cometido Calcula el resto resultante de dividir m entre n.
Sintaxis MOD(,)
Ejemplo select mod(11,4) from dual;

Función POWER(m,n)
Cometido: Calcula la potencia n-esima de m.
Sintaxis: POWER(,)
Ejemplo: select power(3,2) from dual;

Función: ROUND(m,n)
Cometido: Calcula el redondeo de m a n decimales. Si n<0 el redondeo se efectua a por la izquierda del punto decimal. Sintaxis: ROUND(, [])
Ejemplo: select round(123.456,1) from dual;

Función: SQRT(n)
Cometido: Calcula la raíz cuadrada de n.
Sintaxis: SQRT()
Ejemplo: select sqrt(4) from dual;

Función: TRUNC(m,n)
Cometido: Calcula m truncado a n decimales (n puede ser negativo).
Sintaxis: TRUNC(,)
Ejemplo: select trunc(123.456,1) from dual;

Función: SIGN(n)
Cometido: Calcula el signo de n, devolviendo -1 si n<0, n="0">0.
Sintaxis: SIGN()
Ejemplo: select sign(-12) from dual;


FUNCIONES DE CADENAS DE CARACTERES

Función: CHR(n)
Cometido: Devuelve el carácter cuyo valor codificado es n.
Ejemplo: select chr(65) from dual;

Función: ASCII(cad)
Cometido: Devuelve el valor ascii de cad.
Ejemplo: select ascii('A') from dual;

Función: CONCAT(cad1,cad2)
Cometido: Devuelve cad1 concatenada con cad2. Esta función es esquivalente al operador .
Ejemplo: select concat(concat(nombre,' es '),oficio) from emp;

Función: LOWER(cad)
Cometido: Devuelve la cadena cad con todas sus letras convertidas a minúsculas.
Sintaxis: LOWER()
Ejemplo: select lower('MinUsCulAs') from dual;

Función: UPPER(cad)
Cometido: Devuelve la cadena cad con todas sus letras convertidas a mayúsculas.
Sintaxis: UPPER()
Ejemplo:select upper('maYuSCulAs') from dual;

Función: INITCAP(cad)
Cometido: Devuelve cad con el primer caracter en mayúsculas.
Sintaxis: INITCAP()
Ejemplo: select initcap('isabel') from dual;

Función: LPAD(cad1,n,cad2)
Cometido: Devuelve cad1 con longitud n, y ajustada a la derecha, rellenando por la izquierda con cad2.
Sintaxis: LPAD(, ,)
Ejemplo: select lpad('P',5,'*') from dual;

Función: RPAD(cad1,n,cad2)
Cometido: Devuelve cad1 con longitud n, y ajustada a la izquierda, rellenando por la derecha con cad2.
Sintaxis: RPAD(, ,)
Ejemplo: select rpad('P',5,'*') from dual;

Función: REPLACE(cad,ant,nue)
Cometido: Devuelve cad en la que cada ocurrencia de la cadena ant ha sido sustituida por la cadena nue.
Sintaxis: REPLACE("","","")
Ejemplo: select replace('digo','i','ie') from dual;

Función: SUBSTR(cad,m,n)
Cometido: Devuelve la sudcadena de cad compuesta por n caracteres a partir de la posicion m.
SintaXIS: SUBSTR(,,)
Ejemplo: select substr('ABCDEFG',3,2) from dual;

Función: LENGTH(cad)
Cometido: Devuelve la longitud de cad.
Sintaxis: LENGTH()
Ejemplo: select length('cadena') from dual;


FUNCIONES DE CADENAS

INSTR( ): Comprueba si una cadena está dentro de otra. Se busca la ocurrencia nº n empezando desde .
LTRIM( ): Elimina los espacios de la ß . Formato: LTRIM()
RTRIM( ): Elimina los espacios de la à . Formato: RTRIM()
SOUNDEX( ): Busca palabras que suenen igual (en inglés). Formato: SOUNDEX("")

Ejemplo:
SELECT apellidos FROM empleados
WHERE SOUNDEX(apellidos) = SOUNDEX("SMYTHE")
TRIM( ): Elimina los espacios de la ß y à (es como hacer un LTRIM(RTRIM(…)) ). Formato: TRIM()

Ejemplo:
SELECT '==>' TRIM(SUBSTR(DESCRIPCION, 1, 40)) '<==' "Sin espacios" FROM almacenes WHERE CODIGO LIKE 'A_B_' Sin espacios -------------------------------------------------- ==>Almacén de la calle Bravo Murillo<== ==>Almacén de la calle Sainz de Baranda<== UPPER( ): Pasa la cadena a mayúsculas. Formato: UPPER()


FUNCIONES DE MANEJO DE FECHAS

Función: SYSDATE
Cometido: Devuelve la fecha y hora actuales.
Sintaxis: SYSDATE
Ejemplo: select sysdate from dual;

Función: ADD_MONTHS(d,n)
Cometido: Devuelve la fecha d incrementada en n meses.
Sintaxis: ADD_MONTHS(,)
Ejemplo: select add_months(sysdate,4) from dual;

Función: LAST_DAY(d)
Cometido: Devuelve la fecha del último día del mes de d.
Sintaxis: LAST_DAY().
Ejemplo: select last_day(sysdate) from dual;

Función: MONTHS_BETWEEN(d1, d2)
Cometido: Devuelve la diferencia en meses entre las fechas d1 y d2.
Sintaxis: MONTHS_BETWEEN(,)
Ejemplo: select months_between(sysdate,'01-JAN-97') from dual;

Función: NEXT_DAY(d,cad)
Cometido: Devuelve la fecha del primer día de la semana cad después de la fecha d.
Ejemplo: select next_day(sysdate, 'sunday') from dual;

FUNCIONES DE CONVERSIÓN DE TIPOS

Función: TO_NUMBER(cad,fmto)
Cometido: Convierte la cadena cad a un número, opcionalmente de acuerdo con el formato fmto.
Sintaxis: TO_NUMBER().
Ejemplo: select to_number('12345') from dual;

Función: TO_CHAR(d, fmto)
Cometido: Convierte la fecha d a una cadena de caracteres, opcionalmente de acuerdo con el formato fmto.
Sintaxis: TO_CHAR().
Ejemplo: select to_char(sysdate) from dual;

Función. TO_DATE(cad,fmto)
Cometido: Convierte la cadena cad de tipo varchar2 a fecha, opcionalmente de acuerdo con el formato fmto.
Sintaxis: TO_DATE().
Ejemplos: select to_date('1-JAN-97') from dual;

Con las fechas pueden utilizarse varios formatos. Estos formatos permiten modificar la presentación de una fecha. En la siguiente tabla se presentan algunos formatos de fecha y el resultado que generan.

OTRAS FUNCIONES

Función: DECODE(var, val1, cod1, val2, cod2, ..., defecto)
Cometido: Convierte el valor de var, de acuerdo con la codificación.
Sintaxis: (, , [, ..., , ], )
Ejemplo: Select decode(oficio, 'Presidente', 'P', 'Director', 'D', 'X') from emp;

Función: GREATEST(exp1, exp2, ...)
Cometido: Devuelve el mayor valor de una lista.

Función: LEAST(cad,fmto)
Cometido: Devuelve el menor valor de una lista.

Función: NVL(val, exp)
Cometido: Devuelve la expresión exp si val es NULL, y val si en otro caso.
Sintaxis: (, )
Ejemplo: select salario+nvl(comision,0) from emp;


FUNCIONES DE GRUPOS

AVG( ): Devuelve la media. Formato: AVG()
COUNT( ): Devuelve el nº de valores no nulos en los registros recuperados. Formato: COUNT({ *})
DISTINCT( ): Contar los distintos. [no existe en el SQL de ACCESS ]. Formato: DISTINCT({ *})
MAX( ): Devuelve el valor máximo. Formato: MAX()
MIN( ): Devuelve el valor mínimo. Formato: MIN()
SUM( ): Devuelve la suma de todos los registros del grupo. Formato: SUM()