Formas de realizar LIKE com vários parâmetros ao mesmo tempo, utilizando-se de índices BTREE.
É útil para armazenamento de árvores em formato de texto.
O seguinte comando não é possível
SELECT *
FROM tabela
WHERE text LIKE IN ('a%', 'b%', 'c%')
;
E o seguinte é possível entretato não utiliza os índices corretamente
SELECT *
FROM tabela
WHERE text LIKE ANY (array['a%', 'b%', 'c%'])
;
As alternativas mais adequadas que funcionam com índices são:
SELECT *
FROM tabela
WHERE
text LIKE 'a%'
OR text LIKE 'b%'
OR text LIKE 'c%'
;
SELECT *
FROM tabela t,
LATERAL JOIN (SELECT
t.text LIKE 'a%' OR
t.text LIKE 'b%' OR
t.text LIKE 'c%' AS match
) c
WHERE match IS TRUE
;