Minuta Miercoles 28/12 (Clase recuperativa Viernes 30/12)
Autor: Daniel Berrios Aros
Proxima minuta: Octavio Moraga.
El miercoles 11
se tomara una prueba recuperativa para los que no realizaron la
catedra 1 o 2;
Funciones para el manejo de fechas ppt: Oracle 04
-------------------------------------------------
Select To_Char(sysdate,'day') from dual;
Muestra el dìa de semana (miercoles) en minuscula
Select To_Char(sysdate,'DAY') from dual;
Muestra el dìa de semana (MIERCOLES) en mayuscula
Select Add_months(sysdate,1) from dual;
Muestra la fecha actual sumandole una mes.
Select to_char(Add_months(sysdate,1),'day') from dual;
Muestra el dìa de la semana correspondiente a la fecha actual mas un
mes.
Select last_day(to_date('01-02-2012','dd-mm-yyyy')) from dual;
'dd/mm/yyyy' --> Para dar es seteo independiente de la configuraciòn
del servidor
Ultimo dìa del mes (29,30,31) dìas
Select months_between(sysdate,to_date('01-02-2011','dd-mm-yyyy'))
from dual;
Diferencia de meses entre 2 fechas.
Select next_day(sysdate,'Lunes') from dual;
Muestra la fecha del proximo lunes.
Funciones que devuelven valores de caracteres
---------------------------------------------
Select chr(64) from dual;
Entrega el caracter @.
Select concat('hola ','mundo') from dual;
entrega hola mundo;
Select 'hola'||'mundo' from dual;
entrega holamundo ;
Revisar las sutilezas que existen en los ejemplos de la ppt:
Inicap, Lower, Upper, trim, ltrim, rtrim.
Select Lpad('hola',20,'+') from dual;
entrega: ++++++++++++++++hola
Select rpad('hola',20,'+') from dual;
entrega: hola++++++++++++++++
Select replace('el profe es vacan','v','b') from dual;
entrega: el profe es bacan
Select replace('el profe es vacan','v','bbbbbb') from dual;
entrega: el profe es bbbbbbacan
select substr('el galeon español',4,6) from dual;
entrega: galeon
select instr('corporate floor','or',1,2) from dual;
entrega : 5
select translate('corporate floor','or','ro') from dual;
entrega: croproate flrro
select ceil(3.52) from dual;
entrega: 4 el entero proximo.
select floor(3.52) from dual;
entrega: 3 el entero anterior.
Revisar las funciones:
ABS, Mod
select mod(7,2) from dual;
entrega 1, es impar.
select nvl(trim(' '),0) from dual;
Entrega valor 0 en caso de existir null.
select power(2,5) from dual;
Potencia entrega: 32.
select round(2.27,1) from dual;
entrega : 2.3
select round(2.2,0) from dual;
entrega : 0.
select trunc(2.27212121,1) from dual;
entrega 2.2
Funciones avanzadas
-------------------
Decode
-----------
del resultado de la consulta de empleados reemplazaremos si es M por
'Hombre', F por 'Mujer'
select sexo, decode(sexo,'F','Mujer','M','Hombre','Ambiguo') from
empleado;
update empleado set sexo='A' where numempleado='SL65';
Reemplazamos un registro de la tabla para mostrar un registro con el
valor ambiguo;
Case
-------
select salario, case
when salario<100000 then 'Reguleque'
when salario>300000 then 'Super bacan'
else 'Esta bien' end
from empleado;
Ejemplo como crear funcion:
create or replace function ParImpar (pNumero int)
Return varchar2
IS
vTexto varchar2(5);
Begin
If mod(pNumero,2)=0 Then
vTexto:='Par';
Else
vTexto:='ImPar';
end if;
return vTexto;
End ParImpar
Como ejecutarla:
select ParImpar (5) from dual;
retorna: Impar
select ParImpar (2) from dual;
retorna: Par
Autor: Daniel Berrios Aros
Proxima minuta: Octavio Moraga.
El miercoles 11
se tomara una prueba recuperativa para los que no realizaron la
catedra 1 o 2;
Funciones para el manejo de fechas ppt: Oracle 04
-------------------------------------------------
Select To_Char(sysdate,'day') from dual;
Muestra el dìa de semana (miercoles) en minuscula
Select To_Char(sysdate,'DAY') from dual;
Muestra el dìa de semana (MIERCOLES) en mayuscula
Select Add_months(sysdate,1) from dual;
Muestra la fecha actual sumandole una mes.
Select to_char(Add_months(sysdate,1),'day') from dual;
Muestra el dìa de la semana correspondiente a la fecha actual mas un
mes.
Select last_day(to_date('01-02-2012','dd-mm-yyyy')) from dual;
'dd/mm/yyyy' --> Para dar es seteo independiente de la configuraciòn
del servidor
Ultimo dìa del mes (29,30,31) dìas
Select months_between(sysdate,to_date('01-02-2011','dd-mm-yyyy'))
from dual;
Diferencia de meses entre 2 fechas.
Select next_day(sysdate,'Lunes') from dual;
Muestra la fecha del proximo lunes.
Funciones que devuelven valores de caracteres
---------------------------------------------
Select chr(64) from dual;
Entrega el caracter @.
Select concat('hola ','mundo') from dual;
entrega hola mundo;
Select 'hola'||'mundo' from dual;
entrega holamundo ;
Revisar las sutilezas que existen en los ejemplos de la ppt:
Inicap, Lower, Upper, trim, ltrim, rtrim.
Select Lpad('hola',20,'+') from dual;
entrega: ++++++++++++++++hola
Select rpad('hola',20,'+') from dual;
entrega: hola++++++++++++++++
Select replace('el profe es vacan','v','b') from dual;
entrega: el profe es bacan
Select replace('el profe es vacan','v','bbbbbb') from dual;
entrega: el profe es bbbbbbacan
select substr('el galeon español',4,6) from dual;
entrega: galeon
select instr('corporate floor','or',1,2) from dual;
entrega : 5
select translate('corporate floor','or','ro') from dual;
entrega: croproate flrro
select ceil(3.52) from dual;
entrega: 4 el entero proximo.
select floor(3.52) from dual;
entrega: 3 el entero anterior.
Revisar las funciones:
ABS, Mod
select mod(7,2) from dual;
entrega 1, es impar.
select nvl(trim(' '),0) from dual;
Entrega valor 0 en caso de existir null.
select power(2,5) from dual;
Potencia entrega: 32.
select round(2.27,1) from dual;
entrega : 2.3
select round(2.2,0) from dual;
entrega : 0.
select trunc(2.27212121,1) from dual;
entrega 2.2
Funciones avanzadas
-------------------
Decode
-----------
del resultado de la consulta de empleados reemplazaremos si es M por
'Hombre', F por 'Mujer'
select sexo, decode(sexo,'F','Mujer','M','Hombre','Ambiguo') from
empleado;
update empleado set sexo='A' where numempleado='SL65';
Reemplazamos un registro de la tabla para mostrar un registro con el
valor ambiguo;
Case
-------
select salario, case
when salario<100000 then 'Reguleque'
when salario>300000 then 'Super bacan'
else 'Esta bien' end
from empleado;
Ejemplo como crear funcion:
create or replace function ParImpar (pNumero int)
Return varchar2
IS
vTexto varchar2(5);
Begin
If mod(pNumero,2)=0 Then
vTexto:='Par';
Else
vTexto:='ImPar';
end if;
return vTexto;
End ParImpar
Como ejecutarla:
select ParImpar (5) from dual;
retorna: Impar
select ParImpar (2) from dual;
retorna: Par