În acest tutorial, vom învăța cum să folosim funcția replace() din Oracle pentru a înlocui toate aparițiile unui subșir cu un alt set de caractere.
Sintaxa funcției Oracle Replace().
Următorul cod arată sintaxa funcției replace():
A INLOCUI ( șir_sursă, subșir, șir_înlocuire ) ;
Funcția acceptă trei parametri:
- șir_sursă – definește șirul sursă care trebuie căutat.
- Subșir – definește subșirul care urmează să fie înlocuit.
- replacement_string – stabilește șirul sau setul de caractere care sunt înlocuite în locul subșirului. Acesta este un parametru opțional. Dacă lipsește valoarea parametrului replacement_string, funcția elimină toate aparițiile subșirului din șirul sursă.
În mod similar, dacă subșirul este gol, funcția nu face nimic și returnează șirul_sursă.
Funcția returnează un tip de șir cu toate aparițiile subșirului înlocuite cu șirul_înlocuire.
Exemple de funcție Oracle Replace().
Următoarele exemple demonstrează modul în care funcția se comportă sub diferite tipuri de parametri și de intrare:
Exemplul 1 – Înlocuiți apariția subșirului
Exemplul de mai jos ilustrează utilizarea principală a funcției replace() cu toți parametrii de intrare furnizați.
Selectați a inlocui ( „Dezvoltare baze de date Oracle” , 'ab' , 'X y' ) AS înlocuitdin dual;
Interogarea de mai sus folosește funcția înlocuire() pentru a înlocui caracterele (ab) cu (xy). Ieșire rezultată:
ÎNLOCUIT |--------------------------+
Dezvoltarea Oracle datxyase |
Exemplul 2 – Utilizarea funcției de înlocuire pentru a elimina un subșir
După cum am menționat, putem folosi funcția replace() pentru a elimina un subșir din șirul sursă. Acest lucru se întâmplă atunci când nu furnizăm valoarea din subșir așa cum se arată:
SELECT înlocuiește ( „https://linuxhint.com” , „https://” ) AS d FROM dual;Rezultat:
D |-------------+
linuxhint.com |
Exemplul 3 – Înlocuiți valorile într-un tabel
Folosim adesea funcția înlocuire() pentru a înlocui valorile dintr-un tabel al bazei de date. Luați exemplul de tabel prezentat:
creați tabelul sample_date(
id număr,
prenume varchar2 ( cincizeci ) ,
adresa_ip varchar2 ( douăzeci ) ,
adresa_btc varchar2 ( cincizeci ) ,
card_credit varchar2 ( cincizeci ) ,
identificator varchar2 ( 40 ) ,
cheie primară constrângere sample_pk ( id )
) ;
inserați în sample_data ( id , prenume, adresa_ip, adresa_btc, card_credit, identificator )
valorile ( unsprezece , „Wallas” , „169.158.70.77” , „1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q” , „4017955174552” ,
„26811d77-0a3a-4397-bc33-f7835f7c7ab9” ) ;
inserați în sample_data ( id , prenume, adresa_ip, adresa_btc, card_credit, identificator )
valorile ( 12 , 'Ian' , „148.190.10.178” , „1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7” , „4017956704480827” ,
„a69fe590-bc1b-4001-8ff8-154bcdb5802d” ) ;
inserați în sample_data ( id , prenume, adresa_ip, adresa_btc, card_credit, identificator )
valorile ( 13 , 'Paști' , „150.86.18.140” , „126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B” , „4017953296787867” ,
„34ac9385-9e1e-4d13-9537-c4eedb9f2c35” ) ;
Înainte de declarația de actualizare:
SELECTAȚI FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;
Putem folosi funcția înlocuire() pentru a înlocui toate aparițiile lui 4 din coloana credit_card cu un 5.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE ( CARD DE CREDIT, '4' , '5' ) ;După declarația de actualizare:
În tabelul rezultat, putem verifica că valorile din coloanele credit_card au fost înlocuite de la 4 la 5.
Concluzie
Prin acest tutorial, ați înțeles funcționarea funcției de înlocuire () în bazele de date Oracle.