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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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