Devolve verdadeiro se o texto corresponder à expressão regular. Esta função é semelhante ao tipo-predicado, exceto que ele usa expressões regulares ao invés de simples correspondência de caracteres wildcard.
Sintaxe
REGEXP_LIKE( string, padrão )
Parâmetros
string |
|
||||||||||||
pattern |
uma cadeia contendo a expressão regular para corresponder com a cadeia. A sintaxe da expressão regular é compatível com a sintaxe da expressão regular Perl 5. Veja a documentação das Expressões Regulares Perl para mais detalhes. |
||||||||||||
modifiers |
Um ou mais caracteres bandeiras que modificar a forma como a expressão regular encontra em seqüência:
|
notas
Esta função opera em cadeias UTF-8 usando o local padrão, mesmo que o local tenha sido configurado para outra coisa.
Se você está portando uma consulta de expressão regular a partir de uma base de Dados Oracle, lembre-se que a Oracle considera uma string de tamanho zero como equivalente a NULL, enquanto a Vertica não.
exemplos
este exemplo cria uma tabela contendo várias cadeias de caracteres para demonstrar expressões regulares.
Selecionar todos os registros da tabela que contém a letra “a.”
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'a'); v ------ Aaa aaa abc abc1(4 linhas)
Selecionar todas as linhas na tabela que começam com a letra “a”.”
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'^a'); v ------ aaa abc abc1(3 linhas)
Selecione todas as linhas que contém a substring “aa.”
= > SELECT v from t WHERE REGEXP_LIKE(v,'aa'); v - - - - aaa aaa(2 rows)
seleccione Todas as linhas que contenham um algarismo.
=> SELECT v from t WHERE REGEXP_LIKE (v,'\d'); v ------ 123 abc1 (2 linhas)
seleccione Todas as linhas que contenham o sub-texto “aaa.”
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'aaa'); v ----- aaa(1 linha)
Selecione todas as linhas que contém a substring “aaa” usando maiúsculas e minúsculas correspondentes.
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa aaa(2 linhas)
Seleccione as linhas que contém a substring “a b c.”
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'a b c'); V - - - (0 linhas)
seleccione as linhas que contêm o sub-texto “a b c” ignorando o espaço dentro da expressão regular.
=> SELECIONE o v DE t WHERE REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 linhas)
Adicionar multi-linha linhas para demonstrar como usar o “m” modificador.
seleccione as linhas que começam com o sub-texto “gravar” e terminam com o sub-texto “linha 2.”
= > SELECT v from t WHERE REGEXP_LIKE(v,'^Record.* linha 2$'); V - - - (0 linhas)
seleccione as linhas que começam com o sub-texto “registo” e terminam com o sub-texto “linha 2”, tratando várias linhas como cadeias separadas.