pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: James Orr <james@orrwhat.net>
To: David BOURIAUD <david.bouriaud@ac-rouen.fr>
To: pgsql-sql@postgresql.org
Subject: Re: Is this a feature ?
Date: Tue, 4 Jun 2002 11:14:36 -0400
Message-ID: <200206041114.36984.james@orrwhat.net> (raw)
In-Reply-To: <200206041018.24328.david.bouriaud@ac-rouen.fr>
References: <200206041018.24328.david.bouriaud@ac-rouen.fr>

On Tuesday 04 June 2002 04:18, David BOURIAUD wrote:
> Hi the list !
> I've read the docs, and found that you could concatenate two or more
> strings in one select statement like this :
> select
> 	civ || name || forname as identity
> from
> 	person;
>
> This just works fine and returns rows with only one column named identity.
> So far, if one of the fields (civ, name or forname) is null, identity is
> null... That doesn't seems right, since it means that 1+2+0 = 0 !!!!
> Has anybody else seen the same strange behaviour ? And is there a way to
> work this around ?
> Please, don't answer me to use the function textcat (text, text), since it
> behaves the same and makes queries quite unreadeable...
> eg.
> select
> 	textcat ( textcat (civ, name), forname) as identity
> from person;
> is quite readeable, but when you add fields separator, it isn't.

NULL != 0.  1+2+NULL=NULL.

Try ...
CASE WHEN civ IS NOT NULL THEN civ ELSE '' END ||
CASE WHEN name IS NOT NULL THEN name ELSE '' END ||
CASE WHEN forname IS NOT NULL THEN forname ELSE '' END AS identity

- James



view thread (7+ messages)  latest in thread

Message-ID: <200206041114.36984.james@orrwhat.net>
Permalink:  ../200206041114.36984.james@orrwhat.net/
Also on:    postgresql.org/message-id/200206041114.36984.james@orrwhat.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: james@orrwhat.net, david.bouriaud@ac-rouen.fr
  Subject: Re: Is this a feature ?
  In-Reply-To: <200206041114.36984.james@orrwhat.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox