DEV Community

Saulo Siqueira
Saulo Siqueira

Posted on

Excluindo Valores no PostgreSQL: Utilizando Expressões Regulares para Filtrar Dados

No PostgreSQL, o operador !~ é usado para verificar se uma string não corresponde a uma expressão regular. Ele retorna verdadeiro se a string não corresponder à expressão regular especificada.

Em termos mais simples, o operador !~ é usado para negar a correspondência de uma expressão regular. Se a expressão regular encontrar uma correspondência na string, o operador !~ retornará falso. Por outro lado, se a expressão regular não encontrar uma correspondência na string, o operador !~ retornará verdadeiro.

SELECT *
FROM tabela
WHERE coluna !~ '^(sup|age)'

No contexto da consulta SQL que forneci anteriormente, a cláusula WHERE coluna !~ '^(sup|age)' está excluindo os valores em que a coluna não corresponde ao padrão definido pela expressão regular '^(sup|age)', ou seja, valores que não começam com "sup" ou "age".

Essa é uma forma diferente de escrever em relação a forma tradicional abaixo:

SELECT *
FROM tabela
WHERE coluna !ILIKE 'sup%' AND coluna !ILIKE 'age%'

Top comments (0)