Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2003
afarenas afarenas is offline
Miembro
 
Registrado: sep 2003
Ubicación: bogota
Posts: 46
Poder: 0
afarenas Va por buen camino
Question Consulta con valores nulos interbase

Como hacer el siguiente query en Interbase 6 cuando alguno de los campos es nulo?.
SELECT nombre1||' '||nombre2||' '||apellido1 nombre
FROM tabla
Tengo el problema que cuando alguno de los campos es nulo ,
la consulta retorna nulo este problema se presenta en Interbase, en oracle funciona perfecto.
Debo aclarar que estos campos son tipo cadena.
Gracias.

Última edición por afarenas fecha: 25-09-2003 a las 15:33:04.
Responder Con Cita
  #2  
Antiguo 24-09-2003
Viet Viet is offline
Miembro
 
Registrado: jul 2003
Ubicación: Argentina - Mar del Plata
Posts: 252
Poder: 21
Viet Va por buen camino
Hola Yo haria (no se si funciona en IB)

Código:
SELECT 
  case NULLIF(nombre1,'')||' '||NULLIF(nombre2,'')||' '||NULLIF(apellido1,'')  nombre
FROM tabla
Suerte
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;)
Responder Con Cita
  #3  
Antiguo 25-09-2003
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 Viet.

Lamentablemente esta consulta solo funciona en Firebird 1.5. Las versiones anteriores de Interbase/Firebird no soportan las funciones ISNULL, NULLIF, COALESCE, NVL, ... que permiten sustituir un valor nulo por una constante.

En Oracle imagino que utilizaras también una de estas funciones, puesto que sinó, el estándar SQL indica que Nulo operado con cualquier otro valor, es un valor Nulo.

Si no quieres actualizar a Firebird 1.5 RC6, puedes utilizar una UDF que te proporcione externamente esa función (si no recuerdo mal, la fbudf.dll de Firebird proporciona la función NVL que tienen la misma utilidad que el NULLIF)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 26-09-2003
afarenas afarenas is offline
Miembro
 
Registrado: sep 2003
Ubicación: bogota
Posts: 46
Poder: 0
afarenas Va por buen camino
Gracias por las respuestas pero no me sirven insisto que es Interbase 6. En cuanto a lo de la UDF (fbudf.dll) a la que se
refiere Viet, como hago esto o de donde se baja en fin megustaria mas detalles?
Gracias.
Responder Con Cita
  #5  
Antiguo 26-09-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
http://www.ibphoenix.com/main.nfs?a=...e=ibp_udf_libs

Una de las relaciones más completas se puede encontrar en la página de Claudio Valderrama, pero no parece estar activa www.cvalde.com

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



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:45:43.


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