Skip site navigation (1) Skip section navigation (2)

Re: Como eliminar los espacios dentro de un SELECT cuando se usa COALESCE..

From: Juan Martínez <jeugenio(at)umcervantes(dot)cl>
To: Andrés García G(dot) <garcia791107(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Como eliminar los espacios dentro de un SELECT cuando se usa COALESCE..
Date: 2006-11-25 10:44:31
Message-ID: 37922.190.44.85.94.1164451471.squirrel@correo.umcervantes.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El Sab, 25 de Noviembre de 2006, 3:26 am, Andrés García G. escribió:
> Tengo una duda,
> [...]
>
> select id_cliente,
> CAST(coalesce(ap_pat||' '||ap_mat||' '||nombre) AS varchar(120)) AS
> nom_cli
> from clientes
> order by ap_pat, ap_mat, nombre

Esa consulta no funciona(ria). Esto por que COALESCE() requiere de dos
parametros y solo le estas pasando uno.

> mi pregunta es como se puede comprobar (mediante una funcion, por ejem) si
> los campos de apellidos son nulos para no incluir los espacios.

Utilizando la funcion COALESCE como corresponde:

SELECT id_cliente,
       trim(coalesce(ap_pat,'')||' '||
            coalesce(ap_mat,'')||' '||
            coalesce(nombre,''))::varchar(120) AS nom_cli
FROM clientes
ORDER BY ap_pat, ap_mat, nombre;

[Sugerencia: en general no es muy buena idea tener nulos en nombres de
personas. Te sugeriria utilices el un campo como "razon social" para
cuando el cliente es una empresa, todo esto por la normalizacion]

-- 
Juan Martinez                      Linux user # 335778
Departamento de Informática        499 7934 - 499 7992
Universidad Miguel de Cervantes    Mac Iver # 370 - Stgo. Centro - RM


In response to

pgsql-es-ayuda by date

Next:From: Carlos GRDate: 2006-11-25 14:33:43
Subject: Generar funcion en C++ para PostgreSql
Previous:From: Jaime CasanovaDate: 2006-11-25 03:53:52
Subject: Re: Como eliminar los espacios dentro de un SELECT cuando se usa COALESCE..

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group