Oracle Substituir

Oracle Substituir



Este artigo explora o uso da função replace() no banco de dados Oracle para substituir a ocorrência de uma determinada substring por outra substring.

Sintaxe da Função

O código a seguir mostra a sintaxe da função replace():







REPLACE(source_string, substring, replace_string);

A função aceita três parâmetros:



  1. source_string – representa a string de origem a ser pesquisada.
  2. Substring – define a substring a ser substituída
  3. string de substituição – define a string ou conjunto de caracteres que são substituídos no lugar da substring.

A função retorna um tipo de string com todas as ocorrências da substring substituídas pela replace_string.



Exemplos de funções Oracle Replace()

Os exemplos a seguir demonstram como a função se comporta sob vários parâmetros e tipos de entrada:





Exemplo 1 – Substituir Ocorrência de Substring

O exemplo abaixo ilustra o uso principal da função replace() com todos os parâmetros de entrada fornecidos.

select replace('Desenvolvimento de banco de dados Oracle', 'ab', 'xy') AS substituído
de dual;

A consulta acima utiliza a função replace() para substituir os caracteres (ab) por (xy). Saída resultante:



SUBSTITUÍDA                   |
--------------------------+
Oracle datxyase development|

Exemplo 2 – Usando a Função Substituir para Remover uma Substring

Conforme mencionado, podemos usar a função replace() para remover uma substring da string de origem. Isso ocorre quando não fornecemos o valor da substring conforme mostrado:

SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;

Resultado:

D            |
--------------+
linuxhint.com|

Exemplo 3 – Substituir valores em uma tabela

Frequentemente usamos a função replace() para substituir valores em uma tabela de banco de dados. Veja a tabela de exemplo mostrada:

criar tabela sample_data
(
número de identidade,
first_name  varchar2(50),
endereço_ip  varchar2(20),
btc_address varchar2(50),
cartão de crédito varchar2(50),
identificador  varchar2(40),
chave primária sample_pk de restrição (id)
);
inserir em sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
valores (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
insira em sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
valores (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
inserir em sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
valores (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Antes da declaração de atualização:

SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;

Podemos usar a função replace() para substituir todas as ocorrências de 4 na coluna credit_card por 5.

UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

Após a declaração de atualização:

Na tabela resultante, podemos verificar se os valores nas colunas credit_card foram substituídos de 4 para 5.

Conclusão

Por meio deste tutorial, você entendeu o funcionamento da função replace() em bancos de dados Oracle.