Oracle Replace

Oracle Replace



Tento článek zkoumá použití funkce replace() v databázi Oracle k nahrazení výskytu daného podřetězce jiným podřetězcem.

Syntaxe funkce

Následující kód ukazuje syntaxi funkce replace():







REPLACE(zdrojový_řetězec, podřetězec, náhradní_řetězec);

Funkce přijímá tři parametry:



  1. zdrojový_řetězec – představuje zdrojový řetězec, který se má hledat.
  2. Podřetězec – nastavuje podřetězec, který má být nahrazen
  3. náhradní_řetězec – definuje řetězec nebo sadu znaků, které jsou nahrazeny na místě podřetězce.

Funkce vrátí typ řetězce se všemi výskyty podřetězce nahrazenými řetězcem nahrazení.



Příklady funkcí Oracle Replace().

Následující příklady ukazují, jak se funkce chová pod různými parametry a typy vstupů:





Příklad 1 – Nahradit výskyt podřetězce

Níže uvedený příklad ilustruje primární použití funkce replace() se všemi poskytnutými vstupními parametry.

select nahradit('Vývoj databáze Oracle', 'ab', 'xy') AS nahrazeno
z duálu;

Výše uvedený dotaz používá funkci replace() k nahrazení znaků (ab) znakem (xy). Výsledný výstup:



NAHRAZENO                    |
--------------------------+
Vývoj Oracle datxyase|

Příklad 2 – Použití funkce Nahradit k odstranění podřetězce

Jak již bylo zmíněno, můžeme použít funkci replace() k odstranění podřetězce ze zdrojového řetězce. K tomu dochází, když nezadáme hodnotu z podřetězce, jak je znázorněno:

SELECT nahradit('https://linuxhint.com', 'https://') AS d FROM duální;

Výsledek:

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

Příklad 3 – Nahrazení hodnot v tabulce

K nahrazení hodnot v databázové tabulce často používáme funkci replace(). Vezměte si ukázkovou tabulku:

vytvořit tabulku sample_data
(
identifikační číslo,
jméno  varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
kreditní_karta varchar2(50),
identifikátor  varchar2(40),
omezení sample_pk primární klíč (id)
);
vložit do sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
hodnoty (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
vložit do sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
hodnoty (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
vložit do sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
hodnoty (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Před aktualizací prohlášení:

SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;

Můžeme použít funkci replace() k nahrazení všech výskytů 4 ve sloupci kreditní_karty 5.

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

Po prohlášení o aktualizaci:

Ve výsledné tabulce můžeme ověřit, že hodnoty ve sloupcích kreditní_karta byly nahrazeny 4 až 5.

Závěr

Prostřednictvím tohoto tutoriálu jste pochopili fungování funkce replace() v databázích Oracle.