Sostituisci Oracle

Sostituisci Oracle



Questo articolo esplora l'utilizzo della funzione replace() nel database Oracle per sostituire l'occorrenza di una determinata sottostringa con un'altra sottostringa.

Funzione Sintassi

Il codice seguente mostra la sintassi della funzione replace():







REPLACE(stringa_sorgente, sottostringa, stringa_sostituzione);

La funzione accetta tre parametri:



  1. stringa_sorgente – rappresenta la stringa di origine da cercare.
  2. Sottostringa – imposta la sottostringa da sostituire
  3. sostituzione_stringa – definisce la stringa o l'insieme di caratteri che vengono sostituiti al posto della sottostringa.

La funzione restituisce un tipo stringa con tutte le occorrenze della sottostringa sostituite con la stringa_sostitutiva.



Esempi di funzioni Oracle Replace()

Gli esempi seguenti mostrano come si comporta la funzione con vari parametri e tipi di input:





Esempio 1: occorrenza di sostituzione della sottostringa

L'esempio seguente illustra l'utilizzo principale della funzione replace() con tutti i parametri di input forniti.

select replace('Sviluppo database Oracle', 'ab', 'xy') AS sostituito
da duale;

La query sopra utilizza la funzione replace() per sostituire i caratteri (ab) con (xy). Uscita risultante:



SOSTITUITO                     |
--------------------------+
Sviluppo Oracle datxyase|

Esempio 2: utilizzo della funzione di sostituzione per rimuovere una sottostringa

Come accennato, possiamo usare la funzione replace() per rimuovere una sottostringa dalla stringa sorgente. Ciò si verifica quando non forniamo il valore dalla sottostringa come mostrato:

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

Risultato:

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

Esempio 3 – Sostituire i valori in una tabella

Usiamo spesso la funzione replace() per sostituire i valori in una tabella di database. Prendi la tabella di esempio mostrata:

crea la tabella sample_data
(
id          numero,
nome_varchar2(50),
indirizzo_ip  varchar2(20),
indirizzo_btc varchar2(50),
credit_card varchar2(50),
identificatore  varchar2(40),
vincolo sample_pk chiave primaria (id)
);
inserisci in sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
valori (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
inserisci in sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
valori (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
inserisci in sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
valori (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Prima della dichiarazione di aggiornamento:

SELEZIONA FIRST_NAME, IP_ADDRESS, CREDIT_CARD DA SAMPLE_DATA sd;

Possiamo utilizzare la funzione replace() per sostituire tutte le occorrenze di 4 nella colonna credit_card con un 5.

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

Dopo la dichiarazione di aggiornamento:

Nella tabella risultante, possiamo verificare che i valori nelle colonne credit_card siano stati sostituiti da 4 a 5.

Conclusione

Attraverso questo tutorial, hai compreso il funzionamento della funzione replace() nei database Oracle.