Обсуждение: Arrays: missing/skipped elements
I know from the docs that array elements can't have a null value. It appears,
therefore, that Postgres fills in missing elements with zero-length strings,
the int or numeric value zero, etc. appropriate to the data type. Is my
interpretation correct and is this documented/likely to continue in future
versions?
My test (extraneous lines removed):
create table foo (bar text[]);
insert into foo values ('{"a","b","c"}');
insert into foo values ('{,,,"4"}');
select * from foo;
{a,b,c}
{"","","",4}
select '-' || bar[1] || '-' from foo;
-a-
--
select count(*) from foo where bar[1] = '';
1
Cheers,
Steve
Steve Crawford <scrawford@pinpointresearch.com> writes:
> I know from the docs that array elements can't have a null value. It appears,
> therefore, that Postgres fills in missing elements with zero-length strings,
> the int or numeric value zero, etc. appropriate to the data type. Is my
> interpretation correct and is this documented/likely to continue in future
> versions?
One would hope that we'll support null elements in arrays, sooner or
later. I'm not really sure what the textual representation for that
should be, however.
regards, tom lane