lunes, 6 de abril de 2009

Funciones Integradas PL/SQL

Os dejo las Funciones integradas más comunes de PL/SQL.

SYSDATE
Devuelve la fecha del sistema
Select SYSDATE from dual;
Se suele utilizar con TO_DATE, TO_CHAR o TRUNC
TO_CHAR(SYSDATE,'DD/MM/YYYY');

TRUNC
Trunca una fecha o un numero, si la expresión es una fecha quita las horas, minutos.. y si es un numero deja la parte entera.
TRUNC(expresion);

TO_CHAR
Convierte a cadena de caracteres la expresión
TO_CHAR(expresion, [formato]);
El segundo parámetro [formato] es opcional e indica el formato de salida de la expresión.

TO_DATE
Convierte a fecha la expresión del primer parámetro
TO_DATE(expresion, [formato]);
En este caso el parámetro [formato] indica el formato de entrada.

TO_NUMBER
Convierte en entero la expresión.
TO_NUMBER(expresion);

NVL
Si el valor de la expresión es NULO, devuelve el valor del segundo parámetro sino devuelve el valor de la expresión
NVL(expresion, valor); (Ejemplo)

DECODE
Es equivalente a una sentencia de control de flujo if-elsif-else
DECODE(expresion,cond1,valor1,cond2,valor2,...,valorN);
Si la expresión valida la cond1 devolverá el valor1, sino y valida la cond2 devolverá el valor2 y si no cumple ninguna condición devolverá el valorN.

LENGTH
Devuelve la longitud de una expresión char o el numero de dígitos de un number.
LENGTH(expresion);

INSTR
Devuelve la posición de una ocurrencia buscada en una cadena.
INSTR(cadena, cadena_a_buscar, [pos_inicial], [iterador]);
[pos_inicial] y [iterador] por defecto valen 1.

REPLACE
Reemplaza un texto por otro
REPLACE(cadena, cadena_buqueda, cadena_reemplazo);

SUBSTR
Devuelve la subcadena indicada por la posición inicial y la longitud.
SUBSTR(cadena, pos_ini, longitud);

UPPER
Devuelve la cadena pasada en mayúsculas
UPPER(cadena);

LOWER
Devuelve la cadena pasada en minúsculas
LOWER(cadena);

RPAD
Devuelve la cadena concatenada con otra por la derecha repitiendo la segunda hasta una longitud determinada.
RPAD(cadena_orig, logitud, cadena_a_concatenar);

LPAD
Igual que la anterior pero por la izquierda.
LPAD(cadena_orig, logitud, cadena_a_concatenar);

RTRIM
Elimina espacios por la derecha.
RTRIM(cadena);

LTRIM
Elimina espacios por la izquierda.
LTRIM(cadena);

TRIM
Elimina espacios por la derecha y por la izquierda.
TRIM(cadena);

MOD
Devuelve el resto de la división entera
MOD(dividendo, divisor);
Ej: Select MOD(22,18) from DUAL;
Devuelve: 4

Si utilizáis otras dejarlas en los comentarios e iré poniéndolas, así tendremos entre todos reunidas las funciones más comunes. Gracias de antemano.

3 comentarios:

  1. MOD: Devuelve el resto de la división entera
    MOD(dividendo, divisor)
    Ej:
    Select MOD(22,18) from Dual;
    > 4

    ResponderEliminar
  2. CEIL

    Number

    CEIL(n)

    Menor entero mayor o igual a n.

    ResponderEliminar
  3. initCap(cadena)

    Devuelve la cadena con cada palabra empezando con mayuscula y el resto en minusculas. Se considera que las palabras estan separadas por espacios o caracteres no alfanuméricos.

    SELECT initCap('perico palotes') FROM dual;

    >Perico Palotes

    ResponderEliminar