Substitua uma String no SQL

Substitua Uma String No Sql



Dados de texto ou strings, como os desenvolvedores os chamam, são um importante alicerce para qualquer programa funcional. Isso não é diferente quando se trata de armazenar os dados. Quase todos os bancos de dados contêm alguma forma de informação de texto, como nomes, registros, etc.

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:

  1. input_string – Especifica a string na qual desejamos pesquisar e substituir.
  2. Padrão – especifica o padrão de expressão regular que queremos corresponder na string de entrada.
  3. Substituição – especifica a string que substitui as substrings correspondentes.
  4. 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:

SELECIONAR

REGEXP_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 modificado

DE 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.