Oracle Replace Function

Oracle Replace Function



V tomto tutoriálu se naučíme, jak použít funkci replace() v Oracle k nahrazení všech výskytů podřetězce jinou sadou znaků.

Syntaxe funkce Oracle Replace().

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







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



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



  1. source_string – definuje zdrojový řetězec, který se má prohledávat.
  2. Podřetězec – definuje podřetězec, který má být nahrazen.
  3. Náhradní_řetězec – stanoví řetězec nebo sadu znaků, které jsou nahrazeny na místě podřetězce. Toto je volitelný parametr. Pokud chybí hodnota parametru replacement_string, funkce odstraní všechny výskyty podřetězce ze zdrojového řetězce.

Podobně, pokud je podřetězec prázdný, funkce neudělá nic a vrátí zdrojový_řetězec.





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 typy parametrů a 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.

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

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

VYMĚNĚNO |
--------------------------+
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 Z 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
(
id číslo,
křestní_jméno  varchar2 ( padesátka ) ,
ip_adresa  varchar2 ( dvacet ) ,
btc_address varchar2 ( padesátka ) ,
kreditní_karta varchar2 ( padesátka ) ,
identifikátor  varchar2 ( 40 ) ,
omezení primární klíč sample_pk ( id )
) ;
vložit do sample_data ( id , křestní_jméno, ip_adresa, btc_adresa, kreditní_karta, identifikátor )
hodnoty ( jedenáct , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
vložit do sample_data ( id , křestní_jméno, ip_adresa, btc_adresa, kreditní_karta, identifikátor )
hodnoty ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
vložit do sample_data ( id , křestní_jméno, ip_adresa, btc_adresa, kreditní_karta, identifikátor )
hodnoty ( 13 , 'Velikonoční' , '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.

AKTUALIZOVAT SADA SAMPLE_DATA CREDIT_CARD = VYMĚNIT ( KREDITNÍ KARTA, '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.