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

Controlla se esiste un valore nell'array Postgres

Più semplice con ANY costruire:

SELECT value_variable = ANY ('{1,2,3}'::int[])

L'operando corretto di ANY (tra parentesi) può essere un insieme (risultato di una sottoquery, per esempio) o un array . Ci sono diversi modi per usarlo:

  • SQLAlchemy:come filtrare sui tipi di colonna PgArray?
  • IN vs ANY operatore in PostgreSQL

Importante differenza:operatori di array (<@ , @> , && et al.) si aspettano array tipi come operandi e supportano gli indici GIN o GiST nella distribuzione standard di PostgreSQL, mentre ANY costrutto si aspetta un elemento digitare come operando sinistro e non supporta questi indici. Esempio:

  • Indice per trovare un elemento in un array JSON

Niente di tutto questo funziona per NULL elementi. Per verificare NULL :

  • Verifica se esiste NULL nell'array Postgres