Oracle Replace

Oracle Replace



Tento článok skúma použitie funkcie replace() v databáze Oracle na nahradenie výskytu daného podreťazca iným podreťazcom.

Syntax funkcie

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







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

Funkcia akceptuje tri parametre:



  1. zdrojový_reťazec – predstavuje zdrojový reťazec, ktorý sa má vyhľadať.
  2. Podreťazec – nastaví podreťazec, ktorý sa má nahradiť
  3. náhradný_reťazec – definuje reťazec alebo množinu znakov, ktoré sú nahradené na mieste podreťazca.

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 parametroch a typoch vstupu:





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.

select 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 FROM duálne;

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
(
identifikačné číslo,
krstné_meno  varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
kreditná_karta varchar2(50),
identifikátor  varchar2(40),
obmedzenie sample_pk primárny kľúč (id)
);
vložiť do vzorových_údajov (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ž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, first_name, ip_address, btc_address, credit_card, identifier)
hodnoty (13, 'Pasquale', '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().

UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '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.