Search Postgresql Archives

Re: concatenating with NULLs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Using a CASE construct is good when you need non-string output but COALESCE is functionality equivalent and much less verbose when doing a default string output for null values.

 

 

 

From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Brent Wood
Sent: Monday, April 25, 2011 6:33 PM
To: spluque@xxxxxxxxx; pgsql-general@xxxxxxxxxxxxxx
Subject: Re: concatenating with NULLs

 

Hi Seb,

Use CASE to change nulls to empty strings (or a placeholder) as below.

See: http://www.postgresql.org/docs/9.0/static/functions-conditional.html


if you want a placeholder in the result to indicate the presence of a null, try the second SQL:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
test=# select (case when 'a' isnull then '' else 'a' end) || (case when 'b' isnull then '' else 'b' end) || (case when NULL is null then '' end);
 ?column?
----------
 ab
(1 row)

test=# select (case when 'a' isnull then '_' else 'a' end) || (case when 'b' isnull then '_' else 'b' end) || (case when NULL is null then '_' end);
 ?column?
----------
 ab_
(1 row)

test=#   
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


HTH,

Brent Wood


Brent Wood
DBA/GIS consultant
NIWA, Wellington
New Zealand


>>> Seb <spluque@xxxxxxxxx> 04/26/11 10:21 AM >>>
Hi,

A query such as:

SELECT 'a' || 'b' || NULL;

returns a NULL. How can I ensure I get 'ab' in the result? I'm trying
to concatenate columns and one of them might have NULL values, which I
simply want to ignore.

Cheers,

--
Seb


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Please consider the environment before printing this email.

NIWA is the trading name of the National Institute of Water & Atmospheric Research Ltd.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux