O REGEXP_LIKE

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

VARCHAR ou LONG VARCHAR string para procurar por uma expressão regular padrão de jogo. Se a cadeia existir em uma__raw__ coluna de uma tabela flex ou colunar, fundir a cadeia para umLONG VARCHAR antes de procurar o padrão.

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:

b

Tratar as cadeias binárias octetos, em vez de caracteres UTF-8.

c

Force the match to be case sensitive (the default).

i

Force the match to be case insensível.

m

Treat the string to match as multiple lines. Usando este modificador, o início da linha (^) e de fim de linha ($) expressão regular de operadores de correspondência quebras de linha (\n) dentro da seqüência. Sem om modificador, o início e o fim dos operadores de linha correspondem apenas ao início e ao fim da cadeia.

n

Permitir o único personagem regular operador de expressão (.) para corresponder a uma quebra de linha (\n). Sem on modificador, o. operador corresponde a qualquer carácter excepto a nova linha.

x

Adicione comentários às suas expressões regulares. Usando ox modificador faz com que a função ignore todos os caracteres de espaço e comentários na expressão regular. Os comentários começam com um carácter hash (#) e terminam com uma nova linha (\n). Todos os espaços na expressão regular que deseja corresponder em cadeias de caracteres devem ser escapados com uma barra invertida (\).

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.

Related Posts

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *