sql >> Databáze >  >> RDS >> PostgreSQL

Zkontrolujte, zda v poli Postgres existuje hodnota

Jednodušší s ANY konstrukce:

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

Pravý operand ANY (mezi závorkami) může být buď množina (například výsledek dílčího dotazu) nebo pole . Existuje několik způsobů, jak jej použít:

  • SQLAlchemy:jak filtrovat podle typů sloupců PgArray?
  • IN vs. ANY operátor v PostgreSQL

Důležité rozdíl:Operátory pole (<@ , @> , && et al.) očekávat pole typy jako operandy a podporují indexy GIN nebo GiST ve standardní distribuci PostgreSQL, zatímco ANY konstrukt očekává prvek zadejte jako levý operand a nepodporuje tyto indexy. Příklad:

  • Index pro nalezení prvku v poli JSON

Nic z toho nefunguje pro NULL Prvky. Chcete-li otestovat NULL :

  • Zkontrolujte, zda v poli Postgres existuje NULL


  1. stránkování v zobrazení seznamu

  2. Jak používat distribuovanou AD ke zkrácení doby opravy v Oracle EBS

  3. Postgresql json jako dotaz

  4. Nelze vložit explicitní hodnotu pro sloupec identity v tabulce 'tabulka', když je IDENTITY_INSERT nastaveno na OFF