![]() |
Firebir y usar "IF" en la clausula "SELECT"
Pues eso, ¿existe la posibilidad de usar el if dentro de la cláusula SELECT? con firebird, claro está.
Es una pregunta escueta pero clara. |
Que tal
No puedes utilizar IF, pero si CASE:
|
Con firebird 1.5 puedes usar coalesce.
Pongamos un ejemplo: Tenemos una tabla de artículos con varios precios y algunos pueden ser nulos, con la siguiente sentencia devolvería el primer campo no null que encuentre Código:
select coalesce(precio1,precio2) as precio from tbArticulos En este caso devolvería 25, el primer campo que no es null. coalesce es equivalente a case, lo anterior sería algo parecido a esto: Código:
select case when precio1 is not null then precio1 else precio2 end |
Requete interesante, pero extendamos la cuestión un poco mas:
-Y si los campos en vez de null, contienen valores varios, como por ejemplo Código:
Precio1 Precio2 Precio3 ¿Es posible? (dentro de firebird siempre, claro esta) :confused: Gracias por las respuestas. :D |
Cita:
Código:
select case when precio1>0 then precio1 else precio2 end |
Como siempre, muchisisisimas gracias, ha funcionado a la perfección.
Casimiro, re-graciaaaaaaaaaas... PD: ¿Ya tienes internet en el curro? |
Cita:
Sí, por fín, tenemos 2 líneas adsl, una con jazztel y otra con Ya, ambas dejaron de funcionar la semana pasada, de nada sirvieron las llamadas a los "servicios técnicos" de ambas empresas (como era de esperar). Finalmente lo hemos resuelto nosotros reseteándolos y metiendo de nuevo los datos. |
La franja horaria es GMT +2. Ahora son las 15:41:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi