Às vezes você pode precisar verificar se o valor existe no array do PostgreSQL. Neste artigo, veremos como verificar se o array do PostgreSQL contém valor.
Como verificar se o array PostgreSQL contém valor
É muito fácil verificar se um valor está presente em um array do PostgreSQL, usando QUALQUER função.
Aqui está a sintaxe de QUALQUER função.
value = ANY (array)
Na declaração acima, você precisa especificar o valor que deseja verificar e a matriz na qual deseja verificar sua presença/ausência. Você pode especificar QUALQUER função como uma coluna SELECT ou na cláusula WHERE.
Você pode especificar a matriz como um literal usando chaves e aspas simples (por exemplo, ‘{1, 2, 3}’), um nome de coluna com tipo de dados de matriz ou até mesmo uma subconsulta cujo resultado é uma matriz.
A instrução acima retornará t/f para True/False.
Aqui está um exemplo simples de QUALQUER declaração.
postgres=# SELECT 1 = ANY ('{1,2,3}'::int[]); ?column? ---------- t postgres=# SELECT 4 = ANY ('{1,2,3}'::int[]); ?column? ---------- f
Aqui estão as diferentes maneiras de atualizar o array no PostgreSQL. Digamos que você tenha a seguinte coluna de matriz.
#create table employees (
id int,
name varchar,
sales integer[]
);
No exemplo acima, criamos a coluna vendas como uma matriz de inteiros.
Vamos também inserir dados em nossa coluna de matriz.
# 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}
Aqui está a consulta SQL para selecionar apenas as linhas em que o valor 7 está presente na matriz vendas
# select * from employees where 7=ANY(sales); id | name | sales ----+-----------+--------------- 1 | John Doe | {9,7,5,4,3,2}
Verificar valor no array usando Ubiq
A ferramenta Ubiq Reporting é compatível com todas as consultas SQL acima e facilita a visualização dos resultados SQL de diferentes maneiras. Aqui está a consulta SQL mencionada acima, no Ubiq. Você também pode plotar os resultados da consulta SQL em gráficos e painéis e compartilhá-los com outras pessoas.
Precisa de uma ferramenta de relatório para PostgreSQL? A Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!