V tej vadnici se bomo naučili, kako uporabiti funkcijo replace() v Oraclu za zamenjavo vseh pojavitev podniza z drugim naborom znakov.
Sintaksa funkcije Oracle Replace().
Naslednja koda prikazuje sintakso funkcije replace():
ZAMENJATI ( izvorni_niz, podniz, nadomestni_niz ) ;
Funkcija sprejme tri parametre:
- izvorni_niz – definira izvorni niz, po katerem se išče.
- Podniz – definira podniz, ki ga je treba zamenjati.
- nadomestni_niz – vzpostavi niz ali nabor znakov, ki so nadomeščeni na mestu podniza. To je neobvezen parameter. Če vrednost parametra replacement_string manjka, funkcija odstrani vse pojavitve podniza iz izvornega niza.
Podobno, če je podniz prazen, funkcija ne naredi ničesar in vrne izvorni_niz.
Funkcija vrne vrsto niza z vsemi pojavitvami podniza, zamenjanega z nadomestnim_nizom.
Primeri funkcij Oracle Replace().
Naslednji primeri prikazujejo, kako se funkcija obnaša pri različnih vrstah parametrov in vnosov:
Primer 1 – Zamenjaj podniz
Spodnji primer ponazarja primarno uporabo funkcije replace() z vsemi podanimi vhodnimi parametri.
izberite zamenjati ( 'Razvoj baze podatkov Oracle' , 'ab' , 'xy' ) KOT zamenjaniz dvojine;
Zgornja poizvedba uporablja funkcijo replace() za zamenjavo znakov (ab) z (xy). Rezultat:
ZAMENJANO |---------------------------+
Razvoj Oracle datxyase |
2. primer – uporaba funkcije zamenjave za odstranitev podniza
Kot že omenjeno, lahko s funkcijo replace() odstranimo podniz iz izvornega niza. To se zgodi, ko ne podamo vrednosti iz podniza, kot je prikazano:
IZBERI zamenjaj ( 'https://linuxhint.com' , 'https://' ) KOT d IZ dvojine;Izid:
D |-------------+
linuxhint.com |
Primer 3 – Zamenjava vrednosti v tabeli
Pogosto uporabljamo funkcijo replace() za zamenjavo vrednosti v tabeli zbirke podatkov. Vzemite prikazano primer tabele:
ustvari tabelo sample_data(
id številka,
ime_varchar2 ( petdeset ) ,
ip_naslov varchar2 ( dvajset ) ,
btc_naslov varchar2 ( petdeset ) ,
kreditna_kartica varchar2 ( petdeset ) ,
identifikator varchar2 ( 40 ) ,
primarni ključ omejitve sample_pk ( id )
) ;
vstavite v sample_data ( id , first_name, ip_address, btc_address, credit_card, identifikator )
vrednote ( enajst , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
vstavite v sample_data ( id , first_name, ip_address, btc_address, credit_card, identifikator )
vrednote ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
vstavite v sample_data ( id , first_name, ip_address, btc_address, credit_card, identifikator )
vrednote ( 13 , 'Velika noč' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;
Pred izjavo o posodobitvi:
IZBERI FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;
S funkcijo replace() lahko zamenjamo vse pojavitve 4 v stolpcu credit_card s 5.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE ( CREDIT_CARD, '4' , '5' ) ;Po izjavi o posodobitvi:
V dobljeni tabeli lahko preverimo, ali so bile vrednosti v stolpcih kreditne kartice zamenjane s 4 na 5.
Zaključek
S to vadnico ste razumeli delovanje funkcije replace() v zbirkah podatkov Oracle.