Função Substituir Oracle

Funcao Substituir Oracle



Neste tutorial, vamos aprender a usar a função replace() no Oracle para substituir todas as ocorrências de uma substring por outro conjunto de caracteres.

Sintaxe da função Oracle Replace()

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







SUBSTITUIR ( source_string, substring, substituição_string ) ;



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



  1. source_string – define a string de origem a ser pesquisada.
  2. Substring – define a substring que deve ser substituída.
  3. replace_string – estabelece a string ou conjunto de caracteres que são substituídos no lugar da substring. Este é um parâmetro opcional. Se o valor do parâmetro replace_string estiver ausente, a função removerá todas as ocorrências da substring da string de origem.

Da mesma forma, se a substring estiver vazia, a função não fará nada e retornará a source_string.





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.

selecionar substituir ( 'Desenvolvimento de banco de dados Oracle' , 'ab' , 'xy' ) AS substituído
de duplo;

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

SUBSTITUÍDO |
--------------------------+
Desenvolvimento de datxyase Oracle |

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:

SELECIONE substituir ( '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
(
Eu iria número,
primeiro_nome  varchar2 ( cinquenta ) ,
endereço_ip  varchar2 ( vinte ) ,
btc_address varchar2 ( cinquenta ) ,
cartão de crédito varchar2 ( cinquenta ) ,
identificador  varchar2 ( 40 ) ,
chave primária sample_pk de restrição ( Eu iria )
) ;
inserir em sample_data ( Eu iria , first_name, ip_address, btc_address, credit_card, identificador )
valores ( onze , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
inserir em sample_data ( Eu iria , first_name, ip_address, btc_address, credit_card, identificador )
valores ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
inserir em sample_data ( Eu iria , first_name, ip_address, btc_address, credit_card, identificador )
valores ( 13 , 'Páscoa' , '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.

ATUALIZAR SAMPLE_DATA SET CREDIT_CARD = SUBSTITUIR ( CARTÃO DE CRÉDITO, '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.