sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man kontrollerar om PostgreSQL-arrayen innehåller värde

Ibland kan du behöva kontrollera om värde finns i PostgreSQL-arrayen. I den här artikeln kommer vi att titta på hur man kontrollerar om PostgreSQL-arrayen innehåller värde.



Hur man kontrollerar om PostgreSQL-arrayen innehåller värde

Det är mycket enkelt att kontrollera om ett värde finns i en PostgreSQL-array, med hjälp av NÅGON funktion.

Här är syntaxen för ALLA funktion.

value = ANY (array)

I ovanstående uttalande måste du ange värdet du vill kontrollera och i vilken array du vill kontrollera dess närvaro/frånvaro. Du kan ange VILKEN funktion som en SELECT-kolumn eller i WHERE-satsen.

Du kan ange arrayen som en bokstavlig med hjälp av runda klammerparenteser och enkla citattecken (t.ex. '{1, 2, 3}'), ett kolumnnamn med arraydatatyp eller till och med en underfråga vars resultat är en array.

Ovanstående påstående returnerar t/f för True/False.

Här är ett enkelt exempel på ALLA påståenden.

postgres=# SELECT 1 = ANY ('{1,2,3}'::int[]);
 ?column?
----------
 t

postgres=# SELECT 4 = ANY ('{1,2,3}'::int[]);
 ?column?
----------
 f

Här är de olika sätten att uppdatera array i PostgreSQL. Låt oss säga att du har följande matriskolumn.

# create table employees ( 
     id int, 
     name varchar, 
     sales integer[] 
);

I exemplet ovan har vi skapat kolumnen försäljning som en matris av heltal.

Låt oss också infoga data i vår matriskolumn.

# insert into employees (id, name, sales)
          values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
                 (2, ' Jim Day', ARRAY [8,6,3,2,9,2]);

# select * from employees;
 id |   name    |     sales
----+-----------+---------------
  1 |  John Doe | {9,7,5,4,3,2}
  2 |  Jim Day  | {8,6,3,2,9,2}

Här är SQL-frågan för att endast välja de rader där värde 7 finns i arrayen försäljning

# select * from employees where 7=ANY(sales);
 id |   name    |     sales
----+-----------+---------------
  1 |  John Doe | {9,7,5,4,3,2}


Kontrollera värde i array med Ubiq

Ubiqs rapportverktyg stöder alla ovanstående SQL-frågor och gör det enkelt att visualisera SQL-resultat på olika sätt. Här är SQL-frågan som nämns ovan, i Ubiq. Du kan också plotta SQL-frågeresultat i diagram och instrumentpaneler och dela dem med andra.

Behöver du ett rapporteringsverktyg för PostgreSQL? Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Hur skriver man parametriserad orakelinfogningsfråga?

  2. CASE .. NÄR uttryck i Oracle SQL

  3. Hur du kontrollerar din sessions ANSI_NULLS-inställning i SQL Server

  4. Returnera alla främmande nycklar &KONTROLLERA begränsningar i en SQL Server-databas (T-SQL-exempel)