Ovaj članak istražuje upotrebu funkcije replace() u Oracle bazi podataka za zamjenu pojavljivanja danog podniza drugim podnizom.
Sintaksa funkcije
Sljedeći kod prikazuje sintaksu funkcije replace():
ZAMIJENI(izvorni_niz, podniz, zamjenski_niz);
Funkcija prihvaća tri parametra:
- izvorni_niz – predstavlja izvorni niz koji se traži.
- Podniz – postavlja podniz koji treba zamijeniti
- zamjenski_niz – definira niz ili skup znakova koji se zamjenjuju umjesto podniza.
Funkcija vraća vrstu niza sa svim pojavljivanjima podniza zamijenjenih s replacement_string.
Primjeri Oracle Replace() funkcije
Sljedeći primjeri pokazuju kako se funkcija ponaša pod različitim parametrima i vrstama unosa:
Primjer 1 – Zamjena podniza
Primjer u nastavku ilustrira primarnu upotrebu funkcije replace() sa svim navedenim ulaznim parametrima.
odaberite replace('Razvoj Oracle baze podataka', 'ab', 'xy') KAO zamijenjenood dualnog;
Gornji upit koristi funkciju replace() za zamjenu znakova (ab) sa (xy). Rezultirajući rezultat:
ZAMIJENJENO |
---------------------------+
Oracle datxyase razvoj|
Primjer 2 – Upotreba funkcije Replace za uklanjanje podniza
Kao što je spomenuto, možemo koristiti funkciju replace() za uklanjanje podniza iz izvornog niza. To se događa kada ne pružimo vrijednost iz podniza kao što je prikazano:
SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;Ishod:
D |
-------------+
linuxhint.com|
Primjer 3 – Zamjena vrijednosti u tablici
Često koristimo funkciju replace() za zamjenu vrijednosti u tablici baze podataka. Uzmite prikazani primjer tablice:
stvoriti tablicu sample_data(
ID broj,
first_name varchar2(50),
ip_adresa varchar2(20),
btc_adresa varchar2(50),
kreditna_kartica varchar2(50),
identifikator varchar2(40),
ograničenje sample_pk primarni ključ (id)
);
umetnite u sample_data (id, first_name, ip_address, btc_address, credit_card, identifikator)
vrijednosti (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
umetnite u sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
vrijednosti (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
umetnite u sample_data (id, first_name, ip_address, btc_address, credit_card, identifikator)
vrijednosti (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');
Prije izjave o ažuriranju:
SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;
Možemo koristiti funkciju replace() za zamjenu svih pojavljivanja 4 u stupcu credit_card s 5.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');Nakon izjave o ažuriranju:
U dobivenoj tablici možemo provjeriti jesu li vrijednosti u stupcima credit_card zamijenjene s 4 na 5.
Zaključak
Kroz ovaj vodič razumjeli ste rad funkcije replace() u Oracle bazama podataka.