I denne opplæringen skal vi lære hvordan du bruker replace()-funksjonen i Oracle for å erstatte alle forekomster av en delstreng med et annet sett med tegn.
Oracle Replace() funksjonssyntaks
Følgende kode viser syntaksen til replace()-funksjonen:
ERSTATTE ( kildestreng, understreng, erstatningsstreng ) ;
Funksjonen godtar tre parametere:
- kildestreng – definerer kildestrengen som skal søkes i.
- Delstreng – definerer delstrengen som skal erstattes.
- erstatningsstreng – etablerer strengen eller settet med tegn som erstattes i stedet for understrengen. Dette er en valgfri parameter. Hvis verdien av parameteren replacement_string mangler, fjerner funksjonen alle forekomstene av delstrengen fra kildestrengen.
På samme måte, hvis delstrengen er tom, gjør funksjonen ingenting og returnerer kildestrengen.
Funksjonen returnerer en strengtype med alle forekomstene av delstrengen erstattet med erstatningsstrengen.
Oracle Replace() funksjonseksempler
Følgende eksempler viser hvordan funksjonen oppfører seg under ulike parameter- og inngangstyper:
Eksempel 1 – Erstatt forekomst av delstreng
Eksemplet nedenfor illustrerer den primære bruken av replace()-funksjonen med alle inndataparameterne som er oppgitt.
å velge erstatte ( 'Oracle-databaseutvikling' , 'ab' , 'xy' ) AS erstattetfra dual;
Spørringen ovenfor bruker funksjonen replace() for å erstatte tegnene (ab) med (xy). Resulterende utgang:
ERSTATTET |--------------------------+
Oracle datxyase utvikling |
Eksempel 2 – Bruk av Erstatt-funksjonen for å fjerne en delstreng
Som nevnt kan vi bruke funksjonen replace() for å fjerne en delstreng fra kildestrengen. Dette skjer når vi ikke oppgir verdien fra delstrengen som vist:
VELG erstatt ( 'https://linuxhint.com' , 'https://' ) SOM d FRA dual;Utfall:
D |-------------+
linuxhint.com |
Eksempel 3 – Erstatt verdier i en tabell
Vi bruker ofte erstatte()-funksjonen for å erstatte verdier i en databasetabell. Ta eksempeltabellen vist:
opprette tabell sample_data(
id Antall,
fornavn varchar2 ( femti ) ,
ip_adresse varchar2 ( tjue ) ,
btc_adresse varchar2 ( femti ) ,
kredittkort varchar2 ( femti ) ,
identifikator varchar2 ( 40 ) ,
constraint sample_pk primærnøkkel ( id )
) ;
sette inn i sample_data ( id , fornavn, ip_adresse, btc_adresse, kredittkort, identifikator )
verdier ( elleve , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
sette inn i sample_data ( id , fornavn, ip_adresse, btc_adresse, kredittkort, identifikator )
verdier ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
sette inn i sample_data ( id , fornavn, ip_adresse, btc_adresse, kredittkort, identifikator )
verdier ( 1. 3 , 'Påske' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;
Før oppdateringserklæring:
VELG FIRST_NAME, IP_ADDRESS, CREDIT_CARD FRA SAMPLE_DATA sd;
Vi kan bruke replace()-funksjonen til å erstatte alle forekomster av 4 i kredittkortkolonnen med en 5.
OPPDATER SAMPLE_DATA SET CREDIT_CARD = ERSTATT ( KREDITTKORT, '4' , '5' ) ;Etter oppdateringserklæringen:
I den resulterende tabellen kan vi bekrefte at verdiene i kredittkortkolonnene er erstattet fra 4 til 5.
Konklusjon
Gjennom denne opplæringen forsto du hvordan erstatte()-funksjonen fungerer i Oracle-databaser.