Tenho uma tabela jsondocs
com as seguintes colunas:
id SERIAL
json TEXT
Quero verificar se as colunas json
contêm alguns valores, mas não uma correspondência exata.
Por exemplo, posso fazer algo como:
select * from jsondocs where json like '%id:123%'
Mas para uma matriz contendo 100 valores. Quero dizer algo como (pseudo-código):
select * from jsondocs where json like in ('%id:123%','%id:123234324423243%',...)
Eu quero fazer uma pesquisa "like" a partir de valores fornecidos em uma matriz.
Existem 2 abordagens no seu problema:
Abordagem 1
Pesquise como texto combinando like e any:
Abordagem 2
Se você sabe que o json terá uma chave específica e os valores pertencem a uma chave específica no campo json, use esta abordagem:
Supondo que a coluna json contenha o seguinte:
Geralmente, se você quiser fazer algo semelhante a partir de valores em um array, use: