- Categorias:
Funções de cadeia de caracteres e binários (Correspondência/Comparação)
LIKE ANY¶
Permite a correspondência, com distinção entre maiúsculas e minúsculas, de cadeias de caracteres com base na comparação com um ou mais padrões.
A operação é semelhante a LIKE
. Se a cadeia de caracteres de entrada corresponder a qualquer um dos padrões, isto retornará a cadeia de caracteres de entrada.
- Consulte também:
Sintaxe¶
<subject> LIKE 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¶
O tipo de dados do valor retornado é VARCHAR.
Notas de uso¶
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%
).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.
Exemplos¶
Criar uma tabela que contenha algumas cadeias de caracteres:
CREATE OR REPLACE TABLE like_example(subject varchar(20));
INSERT INTO like_example VALUES
('John Dddoe'),
('Joe Doe'),
('John_down'),
('Joe down'),
('Tom Doe'),
('Tim down'),
(null);
Esta consulta mostra como usar padrões com curingas (%
) para encontrar correspondências:
SELECT *
FROM like_example
WHERE subject LIKE ANY ('%Jo%oe%','T%e')
ORDER BY subject;
+-------------+
| SUBJECT |
|-------------|
| Joe Doe |
| John Dddoe |
| Tom Doe |
+-------------+
Esta consulta mostra como usar um caractere de escape para indicar que um caractere que normalmente é um curinga (_
) deve ser tratado como um literal.
SELECT *
FROM like_example
WHERE subject LIKE ANY ('%J%h%^_do%', 'T%^%e') ESCAPE '^'
ORDER BY subject;
+-----------+
| SUBJECT |
|-----------|
| John_down |
+-----------+