PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come determinare se NULL è contenuto in un array in Postgres?

Ancora una costruzione, come ha proposto @Clodoaldo Neto. Solo un'espressione più compatta:

CREATE TEMPORARY TABLE null_arrays (
      id serial primary key
    , array_data int[]
);

INSERT INTO null_arrays (array_data)
VALUES
      (ARRAY[1,2, NULL, 4, 5])
    , (ARRAY[1,2, 3, 4, 5])
    , (ARRAY[NULL,2, 3, NULL, 5])
;

SELECT 
    *
FROM 
    null_arrays
WHERE
    TRUE = ANY (SELECT unnest(array_data) IS NULL)
;