Sei sulla pagina 1di 5

Uso de Funciones Se pueden incluir en las clsulas SELECT, WHERE y ORDER BY. Pueden anidarse funciones dentro de funciones.

Y existe una gran variedad de funciones para cada tipo de datos: aritmticas, de cadenas de caracteres, de manejo de fechas, de conversin, otras, de grupo. Funciones Aritmticas Funcin Cometido Ejemplo Resultado select abs(-15) from dual; 15 ABS(n) Calcula el valor absoluto de n. CEIL(n) FLOOR(n) MOD(m,n) Calcula el valor entero inmediatamente superior o igual a n. Calcula el valor entero inmediatamante inferior o igual a n. Calcula el resto resultante de dividir m entre n.
select ceil(15.7) from dual; select floor(15.7) from dual; select power(3,2) from dual;

16 15

select mod(11,4) from dual; 3

POWER(m,n) Calcula la potencia n-esima de m. ROUND(m,n) SQRT(n)

9 123.5 2 123.4

Calcula el redondeo de m a n decimales. Si n<0 el redondeo se efectua select round(123.456,1) from dual; a por la izquierda del punto decimal. select sqrt(4) from dual; Calcula la raz cuadrada de n.
select trunc(123.456,1) from dual;

TRUNC(m,n) Calcula m truncado a n decimales (n puede ser negativo). SIGN(n) Calcula el signo de n, devolviendo -1 si n<0, 0 si n=0 y 1 si n>0.

select sign(-12) from dual; -1

Funciones de Cadenas de Caracteres

Funcin

Cometido Ejemplo Devuelve el carcter cuyo valor codificado select chr(65) from dual; CHR(n) es n. select ascii('A') from dual; ASCII(cad) Devuelve el valor ascii de cad. select concat(concat(nombre,' es Devuelve cad1 concatenada con cad2. CONCAT(cad1,cad2) Esta funcin es esquivalente al operador ||. '),oficio) from emp; select lower('MinUsCulAs') from Devuelve la cadena cad con todas sus LOWER(cad) dual; letras convertidas a minsculas. select upper('maYuSCulAs') from Devuelve la cadena cad con todas sus UPPER(cad) dual; letras convertidas a maysculas. select initcap('isabel') from Devuelve cad con el primer caracter en INITCAP(cad) dual; maysculas. Devuelve cad1 con longitud n, y ajustada LPAD(cad1,n,cad2) a la derecha, rellenando por la izquierda select lpad('P',5,'*') from dual; con cad2. Devuelve cad1 con longitud n, y ajustada RPAD(cad1,n,cad2) a la izquierda, rellenando por la derecha select rpad('P',5,'*') from dual; con cad2. Devuelve cad en la que cada ocurrencia de select replace('digo','i','ie') REPLACE(cad,ant,nue) la cadena ant ha sido sustituida por la from dual; cadena nue. Devuelve la sudcadena de cad compuesta select substr('ABCDEFG',3,2) from SUBSTR(cad,m,n) por n caracteres a partir de la posicion m. dual; select length('cadena') from dual; LENGTH(cad) Devuelve la longitud de cad. Funciones de Manejo de Fechas

Resultado A 65 Cano es Presidente, etc. minusculas MAYUSCULAS Isabel ****P

P****

diego CD 6

Funcin SYSDATE ADD_MONTHS(d,n) LAST_DAY(d) MONTHS_BETWEEN(d1, d2) NEXT_DAY(d,cad) Funciones de Conversin de Tipos Funcin

Cometido Devuelve la fecha y hora actuales. Devuelve la fecha d incrementada en n meses. Devuelve la fecha del ltimo da del mes de d. Devuelve la diferencia en meses entre las fechas d1 y d2. Devuelve la fecha del primer da de la semana cad despus de la fecha d.

Ejemplo
select sysdate from dual; select add_months(sysdate,4) from dual; select last_day(sysdate) from dual; select months_between(sysdate,'01-JAN97') from dual; select next_day(sysdate, 'sunday') from dual;

Resultado 14-MAR-97 14-JUL-97 31-MAR-97 2.43409424 16-MAR-97

Cometido Convierte la cadena cad a un nmero, opcionalmente de TO_NUMBER(cad,fmto) acuerdo con el formato fmto. Convierte la fecha d a una cadena de caracteres, TO_CHAR(d, fmto) opcionalmente de acuerdo con el formato fmto. Convierte la cadena cad de tipo varchar2 a fecha, TO_DATE(cad,fmto) opcionalmente de acuerdo con el formato fmto.

Ejemplo
select to_number('12345') from dual;

Resultado 124345

select to_char(sysdate) from '14-MAR-97' dual; select to_date('1-JAN-97') from dual;

01-JAN-97

Con las fechas pueden utilizarse varios formatos. Estos formatos permiten modificar la presentacin de una fecha. En la siguiente tabla se presentan algunos formatos de fecha y el resultado que generan. Mscaras de Formato Numricas

Formato cc scc y,yyy sy,yyy

Cometido Valor del siglo. Ao con coma, con o sin signo.

Ejemplo

Resultado select to_char(sysdate,'cc') from dual; 20


select to_char(sysdate,'y,yyy') from dual; select to_char(sysdate,'yyyy') from dual; select to_char(sysdate,'q') from dual; select to_char(sysdate,'ww') from dual; select to_char(sysdate,'mm') from dual; select to_char(sysdate,'ddd') from dual; select to_char(sysdate,'hh') from dual; select to_char(sysdate,'mi') from dual; select to_char(sysdate,'sssss') from dual;

1,997 1997 1 11 03 073 12 15 44159

yyyy yyy yy y Ao sin signo con cuatro, tres, dos o un dgitos. q ww w mm ddd dd d hh hh12 hh24 mi ss sssss Trimestre. Nmero de la semana del ao o del mes. Nmero del mes. Nmero del da del ao, del mes o de la semana. La hora en formato 12h. o 24h. Los minutos de la hora. Los segundos dentro del minuto, o desde las 0 horas.

Mscaras de Formato de Caracteres Formato Cometido Ejemplo


select to_char(sysdate,'syear) from dual; select to_char(sysdate,'month') from dual;

syear year Ao en Ingls month o mon Nombre del mes o su abreviatura de tres letras. day dy

Resultado nineteen ninetyseven march friday p.m.

Nombre del da de la semana o su abreviatura de select to_char(sysdate,'day') from dual; tres letras.
select to_char(sysdate,'a.m.') from dual;

a.m. p.m. El espacio del da.

b.c. a.d. Otras Funciones

Indicador del ao respecto al del nacimiento de Cristo.

select to_char(sysdate,'b.c.') from dual;

a.d.

Funcin Cometido DECODE(var, val1, cod1, val2, Convierte el valor de var, de cod2, ..., defecto) acuerdo con la codificacin. Devuelve el mayor valor de una GREATEST(exp1, exp2, ...) lista. Devuelve el menor valor de una LEAST(cad,fmto) lista. Devuelve la expresin exp si val NVL(val, exp) es NULL, y val si en otro caso.

Ejemplo
select decode(oficio, 'Presidente', 'P', 'Director', 'D', 'X') from emp;

Resultado P, D, X, ... sin ejemplo. sin ejemplo. 450000, 350000, ...

sin ejemplo. sin ejemplo.


select salario+nvl(comision,0) from emp;

Potrebbero piacerti anche