小编典典

如何确定NULL是否包含在Postgres的数组中?

sql

如何确定PostgreSQL的数组中是否包含NULL?当前使用Postgres 9.3.3。

如果我使用以下命令进行测试,则返回contains_null = false

select ARRAY[NULL,1,2,3,4,NULL]::int[] @> ARRAY[NULL]::int[] AS contains_null
select ARRAY[NULL,1,2,3,4,NULL]::int[] @> NULL AS contains_null

我也尝试过:

  1. @>(包含)
  2. <@(包含在其中)
  3. && (重叠)

阅读 213

收藏
2021-03-17

共1个答案

小编典典

select exists (
    select 1 
    from unnest(array[1, null]) s(a)
    where a is null
);
 exists 
--------
 t

或更短:

select bool_or(a is null)
from unnest(array[1, null]) s(a)
;
 bool_or 
---------
 t
2021-03-17