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!