Appending null produces null?

Started by Jeff Eckermannover 25 years ago2 messagesgeneral
Jump to latest
#1Jeff Eckermann
jeckermann@verio.net

extracts=# select bill_address1, bill_address2, bill_address1 || ' ' ||
bill_address2 from customers where external_id = 20037514;
bill_address1 | bill_address2 | ?column?
-----------------+---------------+----------
6745 Avalon Ave | |
(1 row)

I know that the usual operations with 'null' will produce null, but I didn't
expect it in the case of a text field being appended to another text field.
No doubt that follows as a matter of strict principle, but the outcome makes
no sense from a purely practical point of view. Is this really the intended
behaviour? I know that I can work around this with a 'coalesce' or
something similar, but that seems unnecessarily messy.

#2Alex Pilosov
alex@pilosoft.com
In reply to: Jeff Eckermann (#1)
Re: Appending null produces null?

On Thu, 9 Nov 2000, Jeff Eckermann wrote:

extracts=# select bill_address1, bill_address2, bill_address1 || ' ' ||
bill_address2 from customers where external_id = 20037514;
bill_address1 | bill_address2 | ?column?
-----------------+---------------+----------
6745 Avalon Ave | |
(1 row)

I know that the usual operations with 'null' will produce null, but I didn't
expect it in the case of a text field being appended to another text field.
No doubt that follows as a matter of strict principle, but the outcome makes
no sense from a purely practical point of view. Is this really the intended
behaviour? I know that I can work around this with a 'coalesce' or
something similar, but that seems unnecessarily messy.

Yes, this is really the intended behavior. Null means 'no value known',
which is different from empty string...