sql >> Database >  >> RDS >> PostgreSQL

Controleer of waarde bestaat in Postgres-array

Eenvoudiger met de ANY constructie:

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

De juiste operand van ANY (tussen haakjes) kan een set . zijn (resultaat van een subquery bijvoorbeeld) of een array . Er zijn verschillende manieren om het te gebruiken:

  • SQLAlchemy:hoe filter je op PgArray-kolomtypen?
  • IN vs ELKE operator in PostgreSQL

Belangrijk verschil:array-operators (<@ , @> , && et al.) verwachten array typen als operanden en ondersteunen GIN- of GiST-indexen in de standaarddistributie van PostgreSQL, terwijl de ANY construct verwacht een element typ als linker operand en ondersteunt deze indices niet. Voorbeeld:

  • Index voor het vinden van een element in een JSON-array

Niets van dit alles werkt voor NULL elementen. Testen op NULL :

  • Controleer of NULL bestaat in Postgres-array


  1. Primaire sleutels met Apache Spark

  2. SQLite behalve

  3. Robolectric gebruiken met SQLiteAssetHelper

  4. IDENTITY() vs IDENTITY() in SQL Server:wat is het verschil?