Ver Mensaje Individual
  #2  
Antiguo 26-06-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
Cool

Si alguien conoce la función Decode de Oracle... seguramente la extrañará en Interbase... aunque no creo que sea fácil implementarla.

Con la función decode practicamente metés un Case dentro de tu SQL.

a ver si me explico con un ejemplo:

En oracle vos podes hacer algo como:

Código:
  Select to_number(to_char(sysdate, 'MM')) mes,  decode(mes, 
      1, 'Enero', 2, 'Febrero', 3, 'Marzo', 4, 'Abril', 5, 'Mayo', 6, 'Junio',
      7, 'Julio', '8', 'Agosto', 9, 'Septiembre', 10, 'Octubre', 11, 'Noviembre', 12, 'Diciembre') NombreMes
    from dual;
y la función te devolveria algo como:

Código:
Mes  NombreMes
--- ------------
6   Junio
ya se que se puede definir una función que se llame NombreMes y todo resuelto... pero este es un ejemplo trivial.

Realmente permite hacer cosas maravillosas... con poco esfuerzo. Yo he tenido que hacer stored procedures que devuelven un dataset en interbase para conseguir el mismo resultado que podria conseguir en oracle en 5 minutos, inviertiendo incluso horas....

Por cierto... también las rutinas para convertir entre tipos.... digamos:

to_number('1580');
To_Char(SysDate, 'dd/mm/yyyy');
to_char(1580, '9,999,990.00');

Etc.

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita