Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
condiciones en interbase

Hola foreros, mi pregunta es la siguiente:

Anteriormente utilizaba Oracle y PL/SQL y hay una funcion llamada DECODE que utilizaba y que es como un IF, ejemplo:

SELECT DECODE(Sexo,'M','Masculino','Femenino') FROM Clientes

lo que hace la sentencia es que si el sexo es 'M' me devuelve 'Masculino' de lo contrario me devuelve 'Femenino'

no se si interbase contenga algo parecido, si alguien sabe algo al respecto le agradecere mucho me lo haga saber, Gracias.

Saludos a todos
Responder Con Cita
  #2  
Antiguo 26-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
No hay nada parecido... pero para conseguir el mismo efecto, podes hacerlo en un Stored Procedure, justamente con un if que asigne el la descripción (en este caso) de acuerdo al valor...

Creeme que es una de las bondades que mas se extrañan de Oracle en interbase, cuando estas haciendo Queryes.

algo de código (quizas la sintaxis este mala... pero es una idea)

Código:
Alter procedure consulta returning (sexo VarChar(20)) AS
declare variable sex VarChar(1);
Begin
  for Select sexo from clientes into sex do
  begin
    if (sex = 'M') Then
      sexo = 'Masculino';
    else
      sexo = 'Femenino';
    suspend;
  end
end
por cierto... tampoco hay create or replace... y mil cosas mas...

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
  #3  
Antiguo 26-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
sino recuerdo mal, en Firebird tambien tienes la sentencia CASE (no lo puedo probar ahora porque no tengo enFB instalado en este PC)

Sería algo así (desde un SQL)

Código:
select
  (case
     with sexo = 'M' then 'Masculino'
     else 'Femenino'
  ) sexo
from clientes
where condiciones
Responder Con Cita
  #4  
Antiguo 26-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Solo en Firebird 1.5 existe el CASE, Interbase no lo tiene, y Firebird 1 tampoco.

SELECT CASE WHEN Sexo = 'M' THEN 'Masculino' ELSE 'Femenino' END FROM Clientes

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 26-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por guillotmarc
Hola.

Solo en Firebird 1.5 existe el CASE, Interbase no lo tiene, y Firebird 1 tampoco.

SELECT CASE WHEN Sexo = 'M' THEN 'Masculino' ELSE 'Femenino' END FROM Clientes

Saludos.
Eso, eso, con WHEN y el END del final!!!! Ya decía yo que de memoria no lo estaba haciendo bien!!!!
Responder Con Cita
  #6  
Antiguo 29-03-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
gracias a todos pues una de dos o me instalo el Fire Bird o me hago un stored procedure. muchas gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:52:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi