Oracle Replace

Oracle Replace



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:



  1. källsträng – representerar källsträngen som ska sökas.
  2. Delsträng – ställer in delsträngen som ska ersättas
  3. 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 ersatt
frå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.