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

Vérifier si la valeur existe dans le tableau Postgres

Plus simple avec le ANY construire :

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

L'opérande droit de ANY (entre parenthèses) peut être soit un ensemble (résultat d'une sous-requête, par exemple) ou un tableau . Il existe plusieurs façons de l'utiliser :

  • SQLAlchemy :comment filtrer sur les types de colonnes PgArray ?
  • Opérateur IN vs ANY dans PostgreSQL

Important différence :opérateurs de tableau (<@ , @> , && et al.) attendez tableau types comme opérandes et prennent en charge les indices GIN ou GiST dans la distribution standard de PostgreSQL, tandis que le ANY la construction attend un élément type comme opérande gauche et ne prend pas en charge ces indices. Exemple :

  • Index pour trouver un élément dans un tableau JSON

Rien de tout cela ne fonctionne pour NULL éléments. Pour tester NULL :

  • Vérifier si NULL existe dans le tableau Postgres