小编典典

在PostgreSQL中是否将所有NULL数组

sql

如果PostgreSQL数组的所有元素均为NULL,是否有一个返回TRUE的表达式?

如果它是非NULL的值,我当然可以使用类似以下的内容:

SELECT 4 = ALL (ARRAY[4,5]::integer[]);

但是我想用IS NULL测试而不是= 4测试来进行ALL操作。我不认为这是一种ALL语法,并且NULL的语义与数组混合在一起,我自己却无法想到一种实现它的形式。因此,我问堆栈溢出。;-)

我知道我可以在pl / sql或pl / pgsql中编写一个执行此操作的函数,但是在使用该函数之前,我想先看看是否有直接表达式。


阅读 280

收藏
2021-03-23

共1个答案

小编典典

我认为我得到的答案最短,同时仍然保留4 = ALL (ARRAY[4,5]::integer[]);结构:

现场测试:https :
//www.db-fiddle.com/f/6DuB1N4FdcvZdxKiHczu5y/1

select
y, true = ALL (select unnest(z) is null)
from x
2021-03-23