Sie sind auf Seite 1von 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
ABS(n) Calcula el valor absoluto de n. select abs(-15) from dual; 15
select ceil(15.7) from
CEIL(n) Calcula el valor entero inmediatamente superior o igual a n. dual; 16
select floor(15.7) from
FLOOR(n) Calcula el valor entero inmediatamante inferior o igual a n. dual; 15
select mod(11,4) from
MOD(m,n) Calcula el resto resultante de dividir m entre n. dual; 3
select power(3,2) from
POWER(m,n) Calcula la potencia n-esima de m. dual; 9
Calcula el redondeo de m a n decimales. Si n<0 el redondeo se select round(123.456,1)
ROUND(m,n) from dual; 123.5
efectua a por la izquierda del punto decimal.
SQRT(n) Calcula la raz cuadrada de n. select sqrt(4) from dual; 2
select trunc(123.456,1)
TRUNC(m,n) Calcula m truncado a n decimales (n puede ser negativo). from dual; 123.4
select sign(-12) from
SIGN(n) Calcula el signo de n, devolviendo -1 si n<0, 0 si n=0 y 1 si n>0. dual; -1
Funciones de Cadenas de Caracteres

Funcin Cometido Ejemplo Resultado


Devuelve el carcter cuyo valor
CHR(n) select chr(65) from dual; A
codificado es n.
ASCII(cad) Devuelve el valor ascii de cad. select ascii('A') from dual; 65
Devuelve cad1 concatenada con cad2.
select concat(concat(nombre,' es Cano es
CONCAT(cad1,cad2) Esta funcin es esquivalente al operador '),oficio) from emp;
Presidente, etc.
||.
Devuelve la cadena cad con todas sus select lower('MinUsCulAs') from
LOWER(cad) dual; minusculas
letras convertidas a minsculas.
Devuelve la cadena cad con todas sus select upper('maYuSCulAs') from
UPPER(cad) dual; MAYUSCULAS
letras convertidas a maysculas.
Devuelve cad con el primer caracter en select initcap('isabel') from
INITCAP(cad) dual; Isabel
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; ****P
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; P****
con cad2.
Devuelve cad en la que cada ocurrencia
select replace('digo','i','ie')
REPLACE(cad,ant,nue) de la cadena ant ha sido sustituida por la from dual; diego
cadena nue.
Devuelve la sudcadena de cad
select substr('ABCDEFG',3,2) from
SUBSTR(cad,m,n) compuesta por n caracteres a partir de la dual; CD
posicion m.
LENGTH(cad) Devuelve la longitud de cad. select length('cadena') from dual; 6

Funciones de Manejo de Fechas

Funcin Cometido Ejemplo Resultado


14-MAR-
SYSDATE Devuelve la fecha y hora actuales. select sysdate from dual;
97
Devuelve la fecha d incrementada en n select add_months(sysdate,4) from
ADD_MONTHS(d,n) dual; 14-JUL-97
meses.
Devuelve la fecha del ltimo da del 31-MAR-
LAST_DAY(d) select last_day(sysdate) from dual;
mes de d. 97
MONTHS_BETWEEN(d1, Devuelve la diferencia en meses entre select months_between(sysdate,'01-JAN-
97') from dual; 2.43409424
d2) las fechas d1 y d2.
Devuelve la fecha del primer da de la select next_day(sysdate, 'sunday') 16-MAR-
NEXT_DAY(d,cad) from dual;
semana cad despus de la fecha d. 97

Funciones de Conversin de Tipos

Funcin Cometido Ejemplo Resultado


Convierte la cadena cad a un nmero, opcionalmente de select to_number('12345')
TO_NUMBER(cad,fmto) from dual; 124345
acuerdo con el formato fmto.
Convierte la fecha d a una cadena de caracteres, select to_char(sysdate) '14-MAR-
TO_CHAR(d, fmto) from dual;
opcionalmente de acuerdo con el formato fmto. 97'
Convierte la cadena cad de tipo varchar2 a fecha, select to_date('1-JAN-97')
TO_DATE(cad,fmto) from dual; 01-JAN-97
opcionalmente de acuerdo con el formato fmto.
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 Cometido Ejemplo Resultado


cc scc Valor del siglo. select to_char(sysdate,'cc') from dual; 20
select to_char(sysdate,'y,yyy') from
y,yyy sy,yyy Ao con coma, con o sin signo. dual; 1,997
yyyy yyy yy select to_char(sysdate,'yyyy') from
Ao sin signo con cuatro, tres, dos o un dgitos. dual; 1997
y
q Trimestre. select to_char(sysdate,'q') from dual; 1
ww w Nmero de la semana del ao o del mes. select to_char(sysdate,'ww') from dual; 11
mm Nmero del mes. select to_char(sysdate,'mm') from dual; 03
ddd dd d Nmero del da del ao, del mes o de la semana. select to_char(sysdate,'ddd') from dual; 073
hh hh12 hh24 La hora en formato 12h. o 24h. select to_char(sysdate,'hh') from dual; 12
mi Los minutos de la hora. select to_char(sysdate,'mi') from dual; 15
Los segundos dentro del minuto, o desde las 0 select to_char(sysdate,'sssss') from
ss sssss dual; 44159
horas.

Mscaras de Formato de Caracteres

Formato Cometido Ejemplo Resultado


select to_char(sysdate,'syear) from nineteen ninety-
syear year Ao en Ingls dual; seven
month o Nombre del mes o su abreviatura de tres letras. select to_char(sysdate,'month') from march
mon dual;

Nombre del da de la semana o su abreviatura de select to_char(sysdate,'day') from


day dy dual; friday
tres letras.
select to_char(sysdate,'a.m.') from
a.m. p.m. El espacio del da. dual; p.m.
Indicador del ao respecto al del nacimiento de select to_char(sysdate,'b.c.') from
b.c. a.d. dual; a.d.
Cristo.

Otras Funciones

Funcin Cometido Ejemplo Resultado


DECODE(var, val1, cod1, Convierte el valor de var, de select decode(oficio, 'Presidente', 'P',
'Director', 'D', 'X') from emp; P, D, X, ...
val2, cod2, ..., defecto) acuerdo con la codificacin.
Devuelve el mayor valor de una
GREATEST(exp1, exp2, ...) sin ejemplo. sin ejemplo.
lista.
Devuelve el menor valor de una
LEAST(cad,fmto) sin ejemplo. sin ejemplo.
lista.
Devuelve la expresin exp si
450000,
NVL(val, exp) val es NULL, y val si en otro select salario+nvl(comision,0) from emp;
350000, ...
caso.

Das könnte Ihnen auch gefallen