Tom Lane wrote:
Richard Huxton <dev@archonet.com> writes:
Tom Lane wrote:
"Sabin Coanda" <[EMAIL PROTECTED]> writes:
I used the function array_to_string, and I found it ignores NULL values,
e.g. array_to_string( 'ARRAY[1,NULL,3]', ',' ) returns '1,3'.
Do you have a better idea?
If you're being strict it should presumably return NULL for the whole
string. Or you'd need a "coalesce-to-this" parameter.
If the whole array is NULL it would return NULL, but that seems
unhelpful for a single element being NULL ...
It's the least surprising choice though. You'd expect array_to_string()
to be a loop doing something like:
output = output || connector || arr[i]
Of course this will produce NULL if any of the inputs are NULL. Now that
might be unhelpful, but that's NULL for you.
All you're doing is (presumably) adding a hidden test to the loop where
Sabin seemed to expect COALESCE(arr[i],<something>). I'm not sure either
is better across the board.
The problem comes with what <something> should be. You're either looking
at a third parameter or perhaps more cleanly you need a
coalesce_array(ARRAY,VAL) function which produces an output array where
all the null elemts are replaced by VAL.
--
Richard Huxton
Archonet Ltd
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly