Expressões regulares no Banco de Dados
“As expressões regulares são notação concisa e flexível para pesquisa e substituição de padrões de texto.” — Doc SQL
Neste post vou falar um pouco sobre o regex no SQL Server utilizando o Like, será de uma forma simples sem muita complexidade e nas próximas publicações eu irei aumentando o grau de complexidade.
Vamos começar falando que ele é Case Sensitive, então a forma como as palavras foram escritas importam.
O resultado é apenas a palavra que começa com ‘hen’.
Retornando os nomes onde a primeira letra seja “h”, a segunda seja “e” e a terceira seja “n”
O resultado é apenas as palavras que seguem a sequencial utilizada no filtro.
Retornando os nomes onde a primeira letra seja “H”, a segunda seja “e” e a terceira seja “n”
O resultado é apenas as palavras que começam com ‘Hen’.
Retornando os nomes onde a primeira letra seja “P” ou “p” e a segunda seja “I” ou i.
Retornando apenas as 3 palavras que foram utilizadas no filtro.
Retornando os nomes que a primeira letra seja “P”, “H” ou “L”
Retornando todas as palavras que possuem as letras iniciais passadas no filtro.
Filtrando apenas uma letra
Retornando apenas as letras que possuem 1 caractere.
Filtrando as primeiras letras + Case sensitive
Retornando apenas as palavras que possuem a sequencia de letra e numero.
Filtro personalizado e específico.
Retornando frases que:
— Contém exatamente 8 caracteres
— Começam com “H” ou “h”, seguidas de “E” ou “e”
— 3º caractere podem ser qualquer valor (caractere coringa “_”)
— 4º caractere seja “r”
— 5º caractere poder ser qualquer valor (caractere coringa “_”)
— Do 6º caractere em diante pode ser qualquer coisa (letras ou números)
Retornando apenas as palavras que seguem os critérios utilizados
Utilizando o operador de negação (^)
Retornando os nomes que NÃO começam com “P”, “p” ou “H”
Com isso teremos todas as palavras que não seguem a sequencia utilizada no filtro.
Retornando os nomes que NÃO comecem com “P” e o 5º caractere seja “i”.
Note que a palavra ‘henr1que’ não é retornada, pois ela não atende todos os critérios utilizados.
Utilizando o operador de escape
Retornando o nome que possui “%”, note que ele trouxe apenas a palavra que possui %U após a “!”.
Se você acha que ficou faltando alguma coisa ou algo está errado, por favor me contate.