Oracle Replace -toiminto

Oracle Replace Toiminto



Tässä opetusohjelmassa opimme käyttämään Oraclen replace()-funktiota korvaamaan kaikki alimerkkijonon esiintymät toisella merkkijoukolla.

Oracle Replace() -funktion syntaksi

Seuraava koodi näyttää korvausfunktion syntaksin:







KORVATA ( lähdemerkkijono, alimerkkijono, korvausmerkkijono ) ;



Funktio hyväksyy kolme parametria:



  1. lähdemerkkijono – määrittää etsittävän lähdemerkkijonon.
  2. Alimerkkijono – määrittää korvattavan osamerkkijonon.
  3. korvausmerkkijono – määrittää merkkijonon tai joukon merkkejä, jotka korvataan alimerkkijonon tilalla. Tämä on valinnainen parametri. Jos korvausmerkkijonoparametrin arvo puuttuu, funktio poistaa kaikki alimerkkijonon esiintymät lähdemerkkijonosta.

Vastaavasti, jos osamerkkijono on tyhjä, funktio ei tee mitään ja palauttaa lähdemerkkijonon.





Funktio palauttaa merkkijonotyypin, jossa kaikki alimerkkijonon esiintymät on korvattu vaihtomerkkijonolla.

Esimerkkejä Oracle Replace() -funktiosta

Seuraavat esimerkit havainnollistavat funktion käyttäytymistä eri parametri- ja tulotyypeissä:



Esimerkki 1 – Korvaa osamerkkijono esiintyminen

Alla oleva esimerkki havainnollistaa replace()-funktion ensisijaista käyttöä kaikilla syötetyillä parametreilla.

valitse korvata ( 'Oracle-tietokannan kehitys' , 'ab' , 'xy' ) AS vaihdettu
dual;

Yllä oleva kysely korvaa merkit (ab) merkillä (xy) korvaamalla () -funktiolla. Tuloksena oleva tulos:

VAIHDETTU |
--------------------------+
Oracle datxyaase -kehitys |

Esimerkki 2 – Korvaa-funktion käyttäminen alimerkkijonon poistamiseen

Kuten mainittiin, voimme käyttää vaihto()-funktiota alimerkkijonon poistamiseen lähdemerkkijonosta. Tämä tapahtuu, kun emme anna arvoa alimerkkijonosta kuvan mukaisesti:

VALITSE vaihto ( 'https://linuxhint.com' , 'https://' ) AS d FROM kaksi;

Tulokset:

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

Esimerkki 3 – Korvaa arvot taulukossa

Käytämme usein korvaa()-funktiota tietokantataulukon arvojen korvaamiseen. Otetaan esimerkkitaulukko:

luo taulukko sample_data
(
id määrä,
etunimi  varchar2 ( viisikymmentä ) ,
ip_osoite  varchar2 ( kaksikymmentä ) ,
btc_osoite varchar2 ( viisikymmentä ) ,
luottokortti varchar2 ( viisikymmentä ) ,
tunniste  varchar2 ( 40 ) ,
rajoite sample_pk ensisijainen avain ( id )
) ;
lisää kohtaan sample_data ( id , etunimi, ip_osoite, btc_osoite, luottokortti, tunniste )
arvot ( yksitoista , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
lisää kohtaan sample_data ( id , etunimi, ip_osoite, btc_osoite, luottokortti, tunniste )
arvot ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
lisää kohtaan sample_data ( id , etunimi, ip_osoite, btc_osoite, luottokortti, tunniste )
arvot ( 13 , 'Pääsiäinen' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;

Ennen päivitystä:

VALITSE FIRST_NAME, IP_ADDRESS, LUOTTOKORTTI SAMPLE_DATA sd;

Voimme korvata()-funktiolla kaikki 4:n esiintymät credit_card-sarakkeessa 5:llä.

PÄIVITYS SAMPLE_DATA SET CREDIT_CARD = VAIHDA ( LUOTTOKORTTI, '4' , '5' ) ;

Päivitysilmoituksen jälkeen:

Tuloksena olevasta taulukosta voimme tarkistaa, että credit_card-sarakkeiden arvot on korvattu 4:stä 5:een.

Johtopäätös

Tämän opetusohjelman avulla ymmärsit replace()-funktion toiminnan Oraclen tietokannassa.