[Pgsql-ayuda] NULL en valores concatenados

Terry Yapt pgsql@technovell.com
Tue, 02 Sep 2003 15:46:54 +0200


sandrigo lezcano wrote:
> 
> -- en Sybase -----------
>   SELECT personas.persona,  -- numeric
>          personas.nombre,   -- varchar
>          personas.cedula    -- char(15)
>     FROM personas
>    WHERE ( personas.nombre + ' ' +
>            cast("personas"."cedula" as varchar(15))
>          like :desc )
> -- en PgSQL -----  ???
>   SELECT to_char(persona,'9999999999') || nombre , cedula
>     FROM personas
>    WHERE persona ILIKE '53752';
>   1.) ???
>   cuando concateno varios valores
>   SI un valor es NULO (un campo por ej.)
>   toda la expresion se vuelve nula..
>   y solo encuentro una palabra reservada
>   ISNULL ..pero como incluyo en una query ???
>   no hay algo paracido a isnull(cualquier_cosa) ??
>   q devuelve t o f

1)
Prueba con esto:

  SELECT    COALESCE(to_char(persona,'9999999999'),'')
         || COALESCE(nombre,'')
          , cedula  
    FROM personas  
   WHERE persona ILIKE '53752';

> 
>   2.)como incluyo una variable en la query ???
>      SELECT ..
>      ..._expresion_ ILIKE var_string;

2)
Pues dependera de con que interface/lenguaje estes realizando la consulta.  Con Delphi, por ejemplo, es del mismo modo:
      SELECT ..
      ..._expresion_ ILIKE :var_string;

Saludos.