- Categorias:
Funções de cadeia de caracteres e binários (Correspondência/Comparação)
ILIKE ANY¶
Executa uma comparação que não diferencia maiúsculas de minúsculas para corresponder uma cadeia de caracteres a qualquer um ou mais padrões especificados. Use esta função em uma cláusula WHERE para filtrar correspondências. Para correspondência que diferencia maiúsculas e minúsculas, use LIKE ANY em seu lugar.
Dica
Você pode usar o serviço de otimização de pesquisa para melhorar o desempenho de consultas que chamam essa função. Para obter mais detalhes, consulte Serviço de otimização de pesquisa.
- Consulte também:
Sintaxe¶
<subject> ILIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
Argumentos¶
Obrigatório:
subject
A cadeia de caracteres a ser comparada com o(s) padrão(s).
pattern#
O(s) padrão(s) com o(s) qual(is) a cadeia de caracteres deve ser comparada. Você deve especificar pelo menos um padrão.
Opcional:
escape_char
Caractere(s) inserido(s) na frente de um curinga para indicar que o curinga deve ser interpretado como um caractere normal e não como um curinga.
Retornos¶
Retorna um BOOLEAN ou NULL. O valor será TRUE se houver uma correspondência. Caso contrário, retorna FALSE. Retorna NULL se algum argumento for NULL.
Notas de uso¶
Para incluir aspas simples ou outros caracteres especiais na correspondência de padrões, você pode usar uma sequência de escape de barra invertida.
NULL não é compatível com NULL. Em outras palavras, se o assunto é NULL e um dos padrões é NULL, isso não é considerado uma correspondência.
Você pode usar o operador lógico NOT antes de
subject
para realizar uma comparação que diferencia maiúsculas de minúsculas que retorna TRUE se não corresponder a nenhum dos padrões especificados.Curingas SQL são suportados em
pattern
:Um sublinhado (
_
) corresponde a qualquer caractere individual.Um sinal de porcentagem (
%
) corresponde a qualquer sequência de zero ou mais caracteres.
Os caracteres curinga em
pattern
incluem caracteres de nova linha (n
) emsubject
como correspondências.O padrão é considerado compatível se corresponder a toda a cadeia de caracteres de entrada (assunto). Para combinar uma sequência em qualquer lugar dentro de uma cadeia de caracteres, comece e termine o padrão com
%
(por exemplo,%something%
).
Se a função for usada com uma subconsulta, a subconsulta deve retornar uma única linha.
Por exemplo, o seguinte só deve ser usado se a subconsulta retornar uma única linha:
SELECT ... WHERE x ILIKE ANY (SELECT ...)
Detalhes do agrupamento¶
Somente as especificações de agrupamento upper
, lower
e trim
são suportadas. Combinações com upper
, lower
e trim
também são suportadas (por exemplo, upper-trim
e lower-trim
), exceto para combinações de localidade (por exemplo, en-upper
).
Exemplos¶
Criar uma tabela que contenha algumas cadeias de caracteres:
CREATE OR REPLACE TABLE ilike_example(name VARCHAR(20));
INSERT INTO ilike_example VALUES
('jane doe'),
('Jane Doe'),
('JANE DOE'),
('John Doe'),
('John Smith');
Esta consulta mostra como usar padrões com curingas (%
) para encontrar correspondências:
SELECT *
FROM ilike_example
WHERE name ILIKE ANY ('jane%', '%SMITH')
ORDER BY name;
+------------+
| NAME |
|------------|
| JANE DOE |
| Jane Doe |
| John Smith |
| jane doe |
+------------+
Para obter exemplos de como escapar caracteres curinga, consulte LIKE ANY.