viernes, 6 de enero de 2012

Minuta Miercoles 28/12 (Clase recuperativa Viernes 30/12)

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

No hay comentarios:

Publicar un comentario