I den här handledningen ska vi lära oss hur man använder funktionen replace() i Oracle för att ersätta alla förekomster av en delsträng med en annan uppsättning tecken.
Oracle Replace() Funktionssyntax
Följande kod visar syntaxen för funktionen replace():
BYTA UT ( källsträng, delsträng, ersättningssträng ) ;
Funktionen accepterar tre parametrar:
- source_string – definierar källsträngen som ska sökas.
- Delsträng – definierar delsträngen som ska ersättas.
- replacement_string – upprättar strängen eller uppsättningen tecken som ersätts i stället för delsträngen. Detta är en valfri parameter. Om värdet på parametern replacement_string saknas, tar funktionen bort alla förekomster av delsträngen från källsträngen.
På liknande sätt, om delsträngen är tom, gör funktionen ingenting och returnerar källsträngen.
Funktionen returnerar en strängtyp med alla förekomster av delsträngen ersatta med ersättningssträngen.
Oracle Replace() funktionsexempel
Följande exempel visar hur funktionen beter sig under olika parameter- och ingångstyper:
Exempel 1 – Ersätt delsträngsförekomst
Exemplet nedan illustrerar den primära användningen av funktionen replace() med alla indataparametrar.
Välj byta ut ( 'Oracle-databasutveckling' , 'ab' , 'xy' ) AS ersattfrån dubbel;
Frågan ovan använder funktionen replace() för att ersätta tecknen (ab) med (xy). Resultat:
ERSATT |--------------------------+
Oracle datxyase utveckling |
Exempel 2 – Använda Ersätt-funktionen för att ta bort en delsträng
Som nämnts kan vi använda funktionen replace() för att ta bort en delsträng från källsträngen. Detta inträffar när vi inte tillhandahåller värdet från delsträngen som visas:
VÄLJ ersätt ( 'https://linuxhint.com' , 'https://' ) SOM d FRÅN dubbel;Resultat:
D |-------------+
linuxhint.com |
Exempel 3 – Ersätt värden i en tabell
Vi använder ofta funktionen replace() för att ersätta värden i en databastabell. Ta exempeltabellen som visas:
skapa tabell sample_data(
id siffra,
förnamn varchar2 ( femtio ) ,
ip_adress varchar2 ( tjugo ) ,
btc_address varchar2 ( femtio ) ,
kreditkort varchar2 ( femtio ) ,
identifierare varchar2 ( 40 ) ,
constraint sample_pk primärnyckel ( id )
) ;
infoga i sample_data ( id , first_name, ip_address, btc_address, credit_card, identifier )
värden ( elva , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
infoga i sample_data ( id , first_name, ip_address, btc_address, credit_card, identifier )
värden ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
infoga i sample_data ( id , first_name, ip_address, btc_address, credit_card, identifier )
värden ( 13 , 'påsk' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;
Före uppdatering uttalande:
VÄLJ FIRST_NAME, IP_ADDRESS, CREDIT_CARD FRÅN SAMPLE_DATA sd;
Vi kan använda funktionen replace() för att ersätta alla förekomster av 4 i kolumnen kreditkort med en 5.
UPPDATERA SAMPLE_DATA SET CREDIT_CARD = ERSÄTT ( KREDITKORT, '4' , '5' ) ;Efter uppdateringsförklaringen:
I den resulterande tabellen kan vi verifiera att värdena i kreditkortskolumnerna har ersatts från 4 till 5.
Slutsats
Genom denna handledning förstod du hur funktionen replace() fungerar i Oracle-databaser.