PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment déterminer si NULL est contenu dans un tableau dans Postgres ?

Une construction de plus, comme celle proposée par @Clodoaldo Neto. Expression juste plus compacte :

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)
;