Como usar o regex no servidor SQL com um operador semelhante

Como usar o regex no servidor SQL com um operador semelhante
Expressões regulares são uma habilidade fundamental para quem quiser pesquisar e manipular strings. Você pode especificar expressões precisas e complexas usando Regex para encontrar e substituir várias strings e padrões. Nas ferramentas, como o SSMS, você pode especificar os padrões regex no encontro do que e encontrar e substituir opções.

Neste guia, no entanto, veremos como executar consultas de expressões regulares no T-SQL usando o tipo e não como operadores.

Nota: Expressões regulares são um tópico abrangente e não podem ser esgotadas em um único tutorial. Em vez disso, vamos nos concentrar no comando e no regex útil que você pode usar em suas operações diárias de banco de dados.

No T-SQL, podemos definir expressões regulares usando o operador semelhante. O operador assumirá a expressão correspondente e encontrará quaisquer padrões correspondentes.

Existem vários tipos de expressões regulares no SQL Server:

  1. Regex alfabético
  2. Regex numérico
  3. Personagem especial Regex
  4. Regex sensível ao caso
  5. Exclusão regex

Vamos entender como podemos definir a expressão regular no SQL Server.

Exemplos de expressões regulares do SQL Server

Vamos entender como usar expressões regulares no SQL Server usando exemplos práticos. Neste artigo, usaremos o banco de dados SalesDB Sample.

Você pode baixar o banco de dados de amostra do seguinte recurso:

Exemplo 1

O exemplo a seguir, Query, usa uma expressão regular para encontrar o nome dos produtos, começando com a letra L:

Use salesdb;
Selecione o nome em produtos onde o nome como '[l]%';

A consulta anterior deve encontrar os padrões correspondentes e retornar o resultado como mostrado:

Exemplo 2

Filtamos para combinar produtos no exemplo acima, começando com a letra L. Para filtrar para o primeiro e o segundo letras, podemos fazer o seguinte:

Selecione o nome em produtos onde o nome como '[l] [o]%';

A consulta deve retornar os nomes dos produtos que começam com LO. O conjunto resultante é mostrado como:

Exemplo 3

Para filtrar por mais de duas letras, especifique cada letra em seus colchetes como mostrado:

Selecione o nome em produtos onde o nome como '[l] [o] [c] [k]%';

O conjunto resultante é mostrado como:

Exemplo 4

Suponha que você queira filtrar produtos que correspondam a uma linha de string específica. Por exemplo, produtos começando com os personagens entre L - P:

Selecione o nome em produtos onde o nome como '[l-p]%';

O conjunto resultante é como mostrado:

Exemplo 5

Você também pode filtrar para várias condições de correspondência em uma única consulta, como mostrado:

Selecione o nome em produtos onde o nome como '[l-p] [a-o]%';

Um exemplo de conjunto de resultados é como:

Exemplo 6

Suponha que você queira obter produtos terminando com um personagem específico? Nesse caso, você pode alterar a posição da porcentagem, como mostrado:

Selecione o nome em produtos onde o nome como '%[pe]';

Os resultados são como mostrados:

Exemplo 7

Para filtrar para o início e o término resultante com os caracteres especificados, você pode executar a consulta como:

Selecione * de produtos onde o nome como '[para]%[re]';

A consulta acima deve retornar um conjunto de resultados como:

Exemplo 8

E se você quiser excluir caracteres específicos da consulta do filtro? Você pode usar o ^ para excluir os personagens.

Por exemplo, para obter todos os produtos que começam com todos os outros personagens, além de A a M, podemos fazer o seguinte:

Selecione * de produtos onde o nome como '[^a-m]%';

Os resultados devem excluir a letra A a M.

Exemplo 9

Suponha que você queira encontrar os produtos onde o nome contém um número? Podemos executar uma consulta como mostrado:

Selecione * de produtos onde o nome como '%[0-9]';

O resultado deve ser como mostrado:

Nota: você pode usar o operador não como negar o resultado da expressão regular.

Conclusão

Neste artigo, você aprendeu a usar expressões regulares no SQL Server usando o operador semelhante. Esperamos que você tenha achado este artigo útil. Confira mais artigos de dica do Linux para obter dicas e informações, e você pode aprender mais sobre o Regex no SQL Server Docs.