Den här artikeln utforskar användningen av funktionen replace() i Oracle-databasen för att ersätta förekomsten av en given delsträng med en annan delsträng.
Funktionssyntax
Följande kod visar syntaxen för funktionen replace():
REPLACE(källsträng, delsträng, ersättningssträng);
Funktionen accepterar tre parametrar:
- källsträng – representerar källsträngen som ska sökas.
- Delsträng – ställer in delsträngen som ska ersättas
- replacement_string – definierar strängen eller uppsättningen tecken som ersätts i stället för delsträ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 parametrar och indatatyper:
Exempel 1 – Ersätt delsträngsförekomst
Exemplet nedan illustrerar den primära användningen av funktionen replace() med alla indataparametrar.
select replace('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:
ERSÄTT |
--------------------------+
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:
SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;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 nummer,
förnamn varchar2(50),
ip_adress varchar2(20),
btc_address varchar2(50),
kreditkort varchar2(50),
identifierare varchar2(40),
begränsning sample_pk primärnyckel (id)
);
infoga i sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
värden (11, '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, 'Pasquale', '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 = REPLACE(CREDIT_CARD, '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.