Como tal, a manipulação de strings é uma tarefa comum que envolve a manipulação e transformação dos valores da string em um formato específico.
Uma das funções mais poderosas em SQL que lida com operações de string é a função REGEXP_REPLACE(). Esta função nos permite realizar a pesquisa e substituição baseada em expressões regulares. Se você está familiarizado com expressões regulares, sabe o quão poderosa essa função pode ser.
Neste tutorial, aprenderemos como podemos usar esta função para pesquisar e substituir strings no banco de dados SQL.
SQLREGEXP_REPLACE
O SQL REGEXP_REPLACE() é uma função que nos permite realizar a correspondência e substituição de padrões baseados em expressões regulares dentro de uma determinada string.
Expressão regular ou regex é um padrão definido e espaços reservados que nos permite combinar e manipular as strings ou substrings que seguem um padrão específico.
É bom ter em mente que cada mecanismo de banco de dados pode implementar ligeiramente a sintaxe e a funcionalidade da função.
No entanto, podemos expressar sua sintaxe da seguinte forma:
REGEXP_REPLACE(string_de_entrada, padrão, substituição [, sinalizadores])
Os parâmetros da função são expressos da seguinte forma:
- input_string – Especifica a string na qual desejamos pesquisar e substituir.
- Padrão – especifica o padrão de expressão regular que queremos corresponder na string de entrada.
- Substituição – especifica a string que substitui as substrings correspondentes.
- Flags – Um conjunto de flags opcionais que podem ajudar a modificar a funcionalidade da expressão regular. Por exemplo, podemos ativar a pesquisa global, correspondência sem distinção entre maiúsculas e minúsculas, etc. Este recurso varia dependendo do mecanismo de banco de dados.
Exemplos:
Para entender melhor como funciona essa função, vejamos alguns exemplos de como utilizá-la.
Exemplo 1: Uso Básico
Suponha que temos uma tabela contendo informações de um funcionário, conforme mostrado no exemplo de saída a seguir:
Considere um caso em que queremos substituir a ocorrência da string “Charlie” por “Matthew”. Podemos usar a consulta da seguinte maneira:
SELECIONARREGEXP_REPLACE(primeiro_nome, 'Charlie', 'Matthew') AS novo_nome
DE
funcionários;
O exemplo fornecido demonstra uma pesquisa básica e substituição para encontrar a string “Charlie” na coluna “first_name” e substituí-la por “Matthew”.
Saída:
Exemplo 2: Substituição sem distinção entre maiúsculas e minúsculas
Em alguns casos, você pode querer realizar uma pesquisa sem distinção entre maiúsculas e minúsculas. Isso significa que a função examinará apenas o conteúdo da string e não a caixa real das letras alfanuméricas.
Nesse caso, usamos o “i” como sinalizador de função da seguinte forma:
SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') AS modificadoDE produtos;
Ao definir o sinalizador como “i”, a função corresponde a todas as palavras que correspondem a “Samsung”, independentemente da caixa.
Conclusão
Neste exemplo, exploramos como usar e trabalhar com a função REGEXP_REPLACE() para realizar uma pesquisa e substituição baseada em padrão de expressão regular.