Expressões regulares no Banco de Dados

Paulo Henrique
3 min readJul 13, 2021

--

“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 “!”.

Referências

LIKE

DECLARE

REGEX

Se você acha que ficou faltando alguma coisa ou algo está errado, por favor me contate.

Linkedin/in/paulohenriquess/

--

--