Einfacher mit ANY
konstruieren:
SELECT value_variable = ANY ('{1,2,3}'::int[])
Der rechte Operand von ANY
(zwischen Klammern) kann entweder eine Menge sein (zB Ergebnis einer Unterabfrage) oder ein Array . Es gibt mehrere Möglichkeiten, es zu verwenden:
- SQLAlchemy:Wie filtert man nach PgArray-Spaltentypen?
- IN vs. ANY-Operator in PostgreSQL
Wichtig Unterschied:Array-Operatoren (<@
, @>
, &&
et al.) erwarten array Typen als Operanden und unterstützen GIN- oder GiST-Indizes in der Standarddistribution von PostgreSQL, während der ANY
Konstrukt erwartet ein Element Typ als linker Operand und unterstützt diese Indizes nicht. Beispiel:
- Index zum Auffinden eines Elements in einem JSON-Array
Nichts davon funktioniert für NULL
Elemente. Zum Testen auf NULL
:
- Überprüfen Sie, ob NULL im Postgres-Array vorhanden ist