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:
- lähdemerkkijono – määrittää etsittävän lähdemerkkijonon.
- Alimerkkijono – määrittää korvattavan osamerkkijonon.
- 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 vaihdettudual;
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.