Funkcia výmeny Oracle

Funkcia Vymeny Oracle



V tomto návode sa naučíme, ako použiť funkciu replace() v systéme Oracle na nahradenie všetkých výskytov podreťazca inou sadou znakov.

Syntax funkcie Oracle Replace().

Nasledujúci kód zobrazuje syntax funkcie replace():







NAHRADIŤ ( zdrojový_reťazec, podreťazec, náhradný_reťazec ) ;



Funkcia akceptuje tri parametre:



  1. source_string – definuje zdrojový reťazec, ktorý sa má hľadať.
  2. Podreťazec – definuje podreťazec, ktorý sa má nahradiť.
  3. náhradný_reťazec – vytvorí reťazec alebo množinu znakov, ktoré sa nahradia na mieste podreťazca. Toto je voliteľný parameter. Ak chýba hodnota parametra replacement_string, funkcia odstráni všetky výskyty podreťazca zo zdrojového reťazca.

Podobne, ak je podreťazec prázdny, funkcia neurobí nič a vráti zdrojový_reťazec.





Funkcia vráti typ reťazca so všetkými výskytmi podreťazca nahradenými reťazcom nahradenia.

Príklady funkcií Oracle Replace().

Nasledujúce príklady ukazujú, ako sa funkcia správa pri rôznych typoch parametrov a vstupov:



Príklad 1 – Výskyt podreťazca nahraďte

Nižšie uvedený príklad ilustruje primárne použitie funkcie replace() so všetkými poskytnutými vstupnými parametrami.

vyberte nahradiť ( 'Vývoj databázy Oracle' , 'ab' , 'xy' ) AS nahradený
z duálneho;

Dotaz uvedený vyššie používa funkciu replace() na nahradenie znakov (ab) znakmi (xy). Výsledný výstup:

VYMENENÉ |
--------------------------+
Vývoj Oracle datxyase |

Príklad 2 – Použitie funkcie Nahradiť na odstránenie podreťazca

Ako už bolo spomenuté, na odstránenie podreťazca zo zdrojového reťazca môžeme použiť funkciu replace(). K tomu dôjde, keď nezadáme hodnotu z podreťazca, ako je znázornené:

SELECT nahradiť ( 'https://linuxhint.com' , 'https://' ) AS d Z duálneho;

výsledok:

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

Príklad 3 – Nahradenie hodnôt v tabuľke

Na nahradenie hodnôt v databázovej tabuľke často používame funkciu replace(). Vezmite si príklad zobrazenej tabuľky:

vytvorte tabuľku sample_data
(
id číslo,
meno_ varchar2 ( päťdesiat ) ,
ip_address  varchar2 ( dvadsať ) ,
btc_address varchar2 ( päťdesiat ) ,
kreditná_karta varchar2 ( päťdesiat ) ,
identifikátor  varchar2 ( 40 ) ,
obmedzenie primárny kľúč sample_pk ( id )
) ;
vložiť do vzorových_údajov ( id , krstné meno, ip_adresa, btc_adresa, kreditná_karta, identifikátor )
hodnoty ( jedenásť , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
vložiť do vzorových_údajov ( id , krstné meno, ip_adresa, btc_adresa, kreditná_karta, identifikátor )
hodnoty ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
vložiť do vzorových_údajov ( id , krstné meno, ip_adresa, btc_adresa, kreditná_karta, identifikátor )
hodnoty ( 13 , 'Veľká noc' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;

Vyhlásenie pred aktualizáciou:

SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;

Na nahradenie všetkých výskytov čísla 4 v stĺpci kreditná_karta číslom 5 môžeme použiť funkciu replace().

AKTUALIZOVAŤ SADA SAMPLE_DATA CREDIT_CARD = VYMENIŤ ( KREDITNÁ KARTA, '4' , '5' ) ;

Po vyhlásení o aktualizácii:

Vo výslednej tabuľke môžeme overiť, že hodnoty v stĺpcoch kreditná_karta boli nahradené 4 až 5.

Záver

Prostredníctvom tohto tutoriálu ste pochopili fungovanie funkcie replace() v databázach Oracle.