PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann festgestellt werden, ob NULL in einem Array in Postgres enthalten ist?

Eine weitere Konstruktion, wie @Clodoaldo Neto vorgeschlagen hat. Einfach kompakterer Ausdruck:

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