PDA

Ver la Versión Completa : Concatenar Nulls.. Como?


Juanito-Kun
26-09-2005, 18:47:23
Hola que tal saludos.. estoy utilizando delphi 7 y interbase 6.5..

tengo el siguiente problemilla.. estoy haciendo esta consulta :cool:


SELECT CVECATPER, RFCCATPER, APEPATPER, APEMATPER, NOMCATPER,
(APEPATPER||' '||APEMATPER||' '|| NOMCATPER) AS NOMBRECOMPLETO
DIRCATPER, TELCATPER, CELCATPER, SEXCATPER, FECNACPER, MUNNACPER,
TPOSANPER, TITPROPER, EDORESACT, GPOMAXEST, TELACCPER, PERACCPER,
STACATPER, CURPCATPER, EDONACPER, FOTO FROM TBLCATPER


la parte que esta de negrillas y cursiva es la que concateno, todo esta bien. lo malo es que cuando uno de esos campos es NULL me da como resultado null , estuve leyendo y eso es normal ya que el SQL asi lo hace...


pero no habra alguna funcion que me identifique cuando es null y no concatenarlo..


Gracias de ante mano.

cahp
26-09-2005, 18:57:30
Hola,

con firebird tienes COALESCE que devuelve lo que quieras si es null.
con interbase creo que esta opcion esta a partir de la version 7

Como alternativas, puedes poner un trigger before insert/update que si el/los campos son nulos que los ponga a 0, o hacerlo mediante un procedimiento almacenado.

Saludos

rastafarey
27-09-2005, 15:22:18
Debes tener en cuenta que cualquier operacion con null siempre te devolvera null ya que el interprete no sabe que hacer ya que nulo no es nada osea nada tampoco es algo que no se sabe que es ho no existe. COmo te dijeron anterios mente haslo con COALESCE
SELECT CVECATPER, RFCCATPER, APEPATPER, APEMATPER, NOMCATPER,
(COALESCE(APEPATPER, '')||' '||COALESCE(APEMATPER, '')||' '||COALESCE(NOMCATPER, '')) AS NOMBRECOMPLETO
DIRCATPER, TELCATPER, CELCATPER, SEXCATPER, FECNACPER, MUNNACPER,
TPOSANPER, TITPROPER, EDORESACT, GPOMAXEST, TELACCPER, PERACCPER,
STACATPER, CURPCATPER, EDONACPER, FOTO FROM TBLCATPER

Juanito-Kun
28-09-2005, 21:42:26
Gracias por responder rastafarey, cahp. son muy amables..;)

perdonen la demora... :p

Saludos y que esten bien..:)