Categorias:

Funções de cadeia de caracteres (expressões regulares)

REGEXP_LIKE

Executa uma comparação para determinar se uma cadeia de caracteres corresponde a um padrão especificado. Ambas as entradas devem ser expressões de texto.

REGEXP_LIKE é semelhante à função [ NOT ] LIKE, mas com expressões regulares POSIX estendidas em vez da sintaxe padrão SQL LIKE. Oferece suporte às condições de correspondência mais complexas do que LIKE.

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.

Aliases:

[ NOT ] RLIKE (1ª sintaxe)

Consulte também: Funções de cadeia de caracteres (expressões regulares)

Sintaxe

REGEXP_LIKE( <subject> , <pattern> [ , <parameters> ] )
Copy

Argumentos

Obrigatório:

subject

Sujeito à correspondência.

pattern

Padrão a atender.

Opcional:

parameters

Cadeia de caracteres de um ou mais caracteres que especifica os parâmetros usados para a busca de correspondências. Valores com suporte:

c , i , m , e , s

Para obter mais detalhes, consulte Especificação dos parâmetros para a expressão regular.

Padrão: c

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

Detalhes do agrupamento

Arguments with collation specifications are currently not supported.

Exemplos

Criar uma tabela com nomes de cidades:

CREATE OR REPLACE TABLE cities(city varchar(20));
INSERT INTO cities VALUES
    ('Sacramento'),
    ('San Francisco'),
    ('San Jose'),
    (null);
Copy

Executar uma consulta que diferencia maiúsculas e minúsculas com um curinga:

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*');
Copy
+------+
| CITY |
|------|
+------+

Executar uma consulta que não diferencia maiúsculas e minúsculas com um curinga:

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*', 'i');
Copy
+---------------+
| CITY          |
|---------------|
| San Francisco |
| San Jose      |
+---------------+

Para exemplos adicionais de expressões regulares, consulte [ NOT ] REGEXP.

Para procurar um caractere curinga, você precisa usar um caractere de espace para o curinga. Para obter mais informações sobre caracteres curinga, consulte Especificação de expressões regulares em constantes de cadeias de caracteres entre aspas simples.