Thread: NULL handling in 1D array comparison
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 13.0 (Ubuntu 13.0-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit
(1 row)
Comparison should return UNKNOWN but it's returning a true.
version
---------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 13.0 (Ubuntu 13.0-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit
(1 row)
Comparison should return UNKNOWN but it's returning a true.
postgres=# select array[null]=array[null];
?column?
----------
t
(1 row)
postgres=# select array[1, null]=array[1, null];
?column?
----------
t
(1 row)
SQL-99 standard use to say it should come out as UNKNOWN
Manvendra <manvendra2525@gmail.com> writes: > Comparison should return UNKNOWN but it's returning a true. > postgres=# select array[null]=array[null]; Yeah, that's intentional, because we have to be able to sort arrays. Comparison of composites behaves similarly, btw. > SQL-99 standard use to say it should come out as UNKNOWN We're going to politely ignore the spec on this. regards, tom lane