Ao gerenciar um banco de dados extenso, às vezes você pode querer substituir uma substring de campo de dados de string por outra. Uma opção que você tem é excluir o registro e adicioná-lo com um novo valor. Essa é a forma básica que vem à mente de todos. Mas”substituir no SQL”fornece outra maneira eficiente de fazer isso.

O que é Substituir no SQL?

Substituir em SQL é uma função integrada que permite substituir todos os incidentes de uma substring dentro de uma string especificada por uma nova substring. Portanto, sempre que você quiser substituir algo como um link morto ou um nome de produto, a função replace () é o caminho a percorrer. A sintaxe básica de substituição em SQL é:

REPLACE (String, Old_substring, New_substring);

Na sintaxe acima:

  • String: é a expressão ou string na qual você deseja que a função replace () opere.
  • Old_substring: é a substring que você deseja procurar na string e substituir.
  • New_substring: é a nova substring que você deseja incluir no lugar da Old_substring.

Observação: as strings que você inclui na função replace () diferenciam maiúsculas de minúsculas. Portanto, sempre certifique-se de usar a string exata que deseja pesquisar e substituir.

Introdução à análise de dados (GRATUITO)

O domínio da análise de dados está à distância de um clique! Comece a aprender

Introdução à análise de dados (GRATUITO)

Vejamos um exemplo para entender melhor a sintaxe de substituição no SQL e como ele funciona.

SELECIONE

REPLACE (‘Este é o tutorial Java’,’Java’,’SQL’);

Resultado:

ReplaceInSQL_1

Como você pode ver na saída, a substring’Java’foi substituída por’SQL’. Portanto, a função de substituição pesquisará por Java e substitua-o por SQL. Este foi um caso de uso simples com apenas uma única ocorrência de Old_substring. Vejamos outro exemplo em que há várias ocorrências de Old_substring e substitua-as por New_substring.

SELECIONE

REPLACE (‘Esta loja de chá serve o melhor chá feito na chaleira’,’chá’,’café’);

Resultado:

ReplaceInSQL_2

Como você pode ver, todas as ocorrências da substring’chá’foram substituídas por New_substring’café’, mesmo se a substring foi anexada a outros caracteres como com a palavra’bule’. Mas se você passar um Old_substring isso não estiver presente na expressão de string, a função SQL replace () retornará a string como ela está. Vejamos um exemplo para isso também.

SELECIONE

REPLACE (“Bem-vindo aos tutoriais de SQL do Simplilearn”,’Sql’,’Java’);

Resultado:

ReplaceInSQL_3

Como a pesquisa da função replace () diferencia maiúsculas de minúsculas, ela não considerará ‘Sql’ igual a ‘SQL’. Assim, para o servidor, não há SQL na string original. Portanto, ele simplesmente retornará a string exata sem fazer nenhuma alteração.

Programa de Mestrado de Analista de Negócios

Ganhe experiência em ferramentas de análise de negócios Explorar Programa
Analista de negócios Master's Programa

Como usar o Replace in SQL com a instrução UPDATE?

Neste artigo, você viu alguns exemplos de como usar substituir em SQL com strings literais. No entanto, em SQL, você trabalhará com tabelas e bancos de dados. Então, vamos passar a usar a função SQL replace () junto com ATUALIZAR declaração para atualizar os dados em uma tabela.

Um exemplo do mundo real pode ser o gerenciamento da tabela de clientes globais de Clientes. Suponha que você tenha inserido o código do país errado na lista de contatos e queira substituí-lo pelo código correto para todos os contatos do país. É aí que você pode usar substituir no SQL. Antes de começar, crie a tabela Clientes usando CRIAR TABELA e insira alguns valores usando o comando INSERT INTO .

-Criando a mesa

CRIAR clientes TABLE (

C_ID int PRIMARY KEY,

C_FirstName VARCHAR (20) NÃO NULO,

C_LastName VARCHAR (20) NOT NULL,

País VARCHAR (20) NÃO NULO,

Contact_No NVARCHAR (15) UNIQUE,

Email_ID NVARCHAR (35)

);

-Inserindo alguns valores

INSERIR EM VALORES DE CLIENTES (1,’Aakash’,’Roy’,’Índia’,’+91 861.543.1240′,’ar.com’);

INSERT INTO Customers VALUES (2,’Adam’,’Frip’,’USA’,’+2 651.283.1942′,’af.com’);

INSERT INTO Customers VALUES (3,’David’,’Hemsworth’,’France’,’+33 527.535.4569′,’dh.com’);

INSERT INTO Customers VALUES (4,’Rahul’,’Chopra’,’India’,’+91 935.283.9212′,’rc.com’);

INSERIR NOS VALORES dos clientes (5,’Chris’,’Martin’,’EUA’,’+2 726.835.9625′,’dm.com’);

INSERT INTO Customers VALUES (6,’Charles’,’Johnson’,’France’,’+33 650.239.5647′,’cj.com’);

INSERT INTO Customers VALUES (7,’George’,’Austin’,’India’,’+91 932.751.6583′,’ga.com’);

-Buscando os resultados

Selecione * DE clientes;

Resultado:

ReplaceInSQL_4

Se você deve ter notado, esta demonstração inseriu incorretamente o código do país para os clientes dos EUA como’+2’em vez de’+1′. Vamos usar substituir no SQL junto com a instrução UPDATE para corrigir este erro. p>

ATUALIZAR clientes

SET

Contact_No=REPLACE (Contact_No,’+2′,’+1′);

-Buscando o resultado

SELECIONE * DOS clientes;

Resultado:

ReplaceInSQL_5

Como você pode ver, todos os dados Contact_No com ‘+2’ foram substituídos por ‘+1’. Assim, os erros em todos os campos foram rapidamente resolvidos com uma única linha de comando com o uso de replace no SQL. No entanto, esta era uma mesa pequena. Mas ao trabalhar com tabelas grandes em que o número de linhas afetadas é maior, é essencial verificar se a função é executada conforme o esperado. Você pode verificá-lo com a ajuda da cláusula WHERE para primeiro aplicá-lo em uma única linha. Agora, use a cláusula WHERE para substituir o caractere ‘.’ Na coluna Contact_No por ‘-’ para uma linha com C_ID=5 antes de aplicá-lo a toda a tabela.

ATUALIZAR clientes

SET

Contact_No=REPLACE (Contact_No,’.’,’-‘)

ONDE

C_ID=5;

-Buscando o resultado

SELECIONE * DOS clientes

WHERE C_ID=5;

Resultado:

ReplaceInSQL_6

Agora que você sabe que funciona conforme o esperado, pode aplicá-lo a toda a tabela removendo a cláusula WHERE.

ATUALIZAR clientes

SET

Contact_No=REPLACE (Contact_No,’.’,’-‘);

-Obtendo resultado

Selecione * DE clientes;

Resultado:

ReplaceInSQL_7.

Como você pode ver, todos os caracteres ‘.’ no campo Contact_No foram substituídos pelo caractere ‘-’. Mais uma coisa que vale a pena notar é que você passou Contact_No como uma coluna e não como uma expressão de string, o que é um erro simples de cometer. Portanto, não use vírgulas simples invertidas (‘’) ao passar o primeiro argumento na função SQL replace (). Vamos ver o que acontece se você passar a primeira expressão como uma coluna. No exemplo abaixo, você tentará alterar a substring ‘com’ de Email_ID para ‘simplilearn.org’. Primeiro, você deve passar Email_ID como uma string literal e depois como uma coluna e ver os resultados.

ATUALIZAR clientes

SET

Email_ID=REPLACE (‘Email_ID’,’com’,’simplilearn.org’);

SELECIONE * DOS clientes;

Resultado:

ReplaceInSQL_8

Como você pode ver na saída, em vez de alterar a substring, a função replace () alterou o campo da coluna inteira para ‘Email_ID’, pois você o havia passado como uma string literal e não uma coluna. Se, em vez de usá-lo como uma expressão de string, você remover as vírgulas invertidas e colocá-lo como uma coluna. Então funcionará conforme o esperado. Vejamos a saída disso.

ATUALIZAR clientes

SET

Email_ID=REPLACE (Email_ID,’com’,’simplilearn.org’);

Selecione * DE clientes;

Resultado:

ReplaceInSQL_9

Como esperado, desta vez, a função SQL replace () alterou a substring ‘org’ na coluna Email_ID da tabela Customers para ‘simplilearn.org.’

Ganhe experiência nas mais recentes ferramentas e técnicas de análise de negócios com o Programa de certificação de analista de negócios . Inscreva-se agora!

Conclusão:

Neste artigo, você aprendeu tudo o que precisa saber sobre substituir no SQL. A função SQL replace () é útil para alterar de forma fácil e rápida quaisquer dados específicos de bancos de dados e tabelas enormes e enormes. Leia nosso próximo tutorial sobre função NVL em SQL .

Usar substituir em SQL é um conceito fundamental essencial para gerenciar bancos de dados de maneira eficiente. No entanto, além desses conceitos básicos, também é essencial aprender e usar todos os conceitos SQL avançados. Se você quiser conhecer todos esses conceitos avançados, pode consultar o Treinamento de certificação em SQL . O treinamento é especializado em ajudá-lo a se destacar na escrita de consultas SQL.

Tem alguma pergunta para nós sobre “substituir no SQL”? Deixe-os na seção de comentários e nossos especialistas entrarão em contato com você assim que possível.

Bom aprendizado!

Source link

Categories: Wordpress