Funzione di sostituzione Oracle

Funzione Di Sostituzione Oracle



In questo tutorial impareremo come utilizzare la funzione replace() in Oracle per sostituire tutte le occorrenze di una sottostringa con un altro set di caratteri.

Sintassi della funzione Oracle Replace()

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







SOSTITUIRE ( stringa_sorgente, sottostringa, stringa_sostitutiva ) ;



La funzione accetta tre parametri:



  1. source_string – definisce la stringa di origine da cercare.
  2. Sottostringa: definisce la sottostringa da sostituire.
  3. replacement_string – stabilisce la stringa o l'insieme di caratteri che vengono sostituiti al posto della sottostringa. Questo è un parametro opzionale. Se manca il valore del parametro replacement_string, la funzione rimuove tutte le occorrenze della sottostringa dalla stringa di origine.

Allo stesso modo, se la sottostringa è vuota, la funzione non fa nulla e restituisce la stringa_sorgente.





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 in vari tipi di parametri e 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.

Selezionare sostituire ( '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:

SELEZIONA sostituire ( 'https://linuxhint.com' , 'https://' ) COME d DA duale;

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 ( cinquanta ) ,
indirizzo_ip  varchar2 ( venti ) ,
indirizzo_btc varchar2 ( cinquanta ) ,
credit_card varchar2 ( cinquanta ) ,
identificatore varchar2 ( 40 ) ,
vincolo sample_pk chiave primaria ( id )
) ;
inserire in sample_data ( id , nome_nome, indirizzo_ip, indirizzo_btc, carta_di_credito, identificatore )
i valori ( undici , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
inserire in sample_data ( id , nome_nome, indirizzo_ip, indirizzo_btc, carta_di_credito, identificatore )
i valori ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
inserire in sample_data ( id , nome_nome, indirizzo_ip, indirizzo_btc, carta_di_credito, identificatore )
i 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 usare la funzione replace() per sostituire tutte le occorrenze di 4 nella colonna credit_card con un 5.

AGGIORNA SAMPLE_DATA SET CREDIT_CARD = SOSTITUIRE ( CARTA DI CREDITO, '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.