Oracle - Usar un IF-END IF para comparar el valor de Campo?

 
Vista:

Usar un IF-END IF para comparar el valor de Campo?

Publicado por Paty (7 intervenciones) el 29/06/2004 20:06:18
Como usar un IF-END IF para comparar el valor directo de un campo???
Es decri, es correcto esto?? como es la sintaxis adecuada?? es posible hacerlo:
IF (Select Mitabla.Micampo From Mitabla ) = 0 then (select Mitabla.OtroCampo from Mitabla)
end if

Agradeceria mucho un comentario al respecto
Gracias¡
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Usar un IF-END IF para comparar el valor de Cam

Publicado por Mikel (14 intervenciones) el 05/07/2004 13:07:00
No se si te he entendido muy bien lo que quieres hacer, pero prueba con la funcion DECODE. Su estructura es esta:

DECODE(Variable, Valor1, Devol1, Valor2, Devol2, ..., DevolDefecto)

Si Variable es igual a Valor 1 devolverá Devol1. Si es igual a Valor2 devolverá Devol2. Asi sucesivamente, si no es igual a ninguno de los valores establecidos devolverá DevolDefecto.

Si lo que tu quieres hacer es una SELECT en la que te devuelva el valor de un campo CAMPO1, pero si el valor de ese campo es 0 que te devuelva el valor de CAMPO2 sería algo así:

SELECT DECODE(Campo1, 0, Campo2, Campo1)
FROM MITABLA
WHERE ...

En este caso si Campo1 es 0 devuelve Campo2 y si no devuelve Campo1.

Espero haberme explicado. Saludos desde Euskal Herria.

Mikel

P.D. - No se si la aclaracion es exacta ya que utilice esta funcion una vez hace mucho y no la he vuelto a usar ... pero creo que funciona como te he dicho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar