Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Consulta con valores nulos interbase (https://www.clubdelphi.com/foros/showthread.php?t=3924)

afarenas 24-09-2003 21:23:17

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.

Viet 24-09-2003 22:17:24

Hola Yo haria (no se si funciona en IB)

Código:

SELECT
  case NULLIF(nombre1,'')||' '||NULLIF(nombre2,'')||' '||NULLIF(apellido1,'')  nombre
FROM tabla

Suerte ;)

guillotmarc 25-09-2003 10:50:50

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.

afarenas 26-09-2003 17:18:17

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.

guillotmarc 26-09-2003 17:33:44

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.


La franja horaria es GMT +2. Ahora son las 15:49:58.

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