Denne artikel undersøger brugen af funktionen replace() i Oracle-databasen til at erstatte forekomsten af en given understreng med en anden understreng.
Funktions syntaks
Følgende kode viser syntaksen for funktionen replace():
REPLACE(kildestreng, understreng, erstatningsstreng);
Funktionen accepterer tre parametre:
- kildestreng – repræsenterer kildestrengen, der skal søges i.
- Understreng – indstiller understrengen til at blive erstattet
- erstatningsstreng – definerer den streng eller et sæt af tegn, der erstattes i stedet for understrengen.
Funktionen returnerer en strengtype med alle forekomster af understrengen erstattet med erstatningsstrengen.
Eksempler på Oracle Replace()-funktioner
Følgende eksempler viser, hvordan funktionen opfører sig under forskellige parametre og inputtyper:
Eksempel 1 – Erstat forekomst af understreng
Eksemplet nedenfor illustrerer den primære brug af funktionen replace() med alle de angivne inputparametre.
select replace('Oracle-databaseudvikling', 'ab', 'xy') AS erstattetfra dobbelt;
Forespørgslen ovenfor bruger funktionen replace() til at erstatte tegnene (ab) med (xy). Resulterende output:
UDSKIFTET |
--------------------------+
Oracle datxyase udvikling|
Eksempel 2 – Brug af Erstat-funktionen til at fjerne en understreng
Som nævnt kan vi bruge funktionen replace() til at fjerne en understreng fra kildestrengen. Dette sker, når vi ikke angiver værdien fra understrengen som vist:
SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;Resultat:
D |
-------------+
linuxhint.com|
Eksempel 3 – Erstat værdier i en tabel
Vi bruger ofte funktionen replace() til at erstatte værdier i en databasetabel. Tag den viste eksempeltabel:
oprette tabel sample_data(
ID-nummer,
fornavn varchar2(50),
ip_adresse varchar2(20),
btc_address varchar2(50),
kreditkort varchar2(50),
identifikator varchar2(40),
begrænsning sample_pk primær nøgle (id)
);
indsæt i sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
værdier (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
indsæt i sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
værdier (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
indsæt i sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
værdier (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');
Før opdateringserklæring:
VÆLG FIRST_NAME, IP_ADDRESS, CREDIT_CARD FRA SAMPLE_DATA sd;
Vi kan bruge funktionen replace() til at erstatte alle forekomster af 4 i kolonnen kreditkort med en 5.
OPDATERING SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');Efter opdateringserklæringen:
I den resulterende tabel kan vi bekræfte, at værdierne i kreditkort-kolonnerne er blevet erstattet fra 4 til 5.
Konklusion
Gennem denne vejledning forstod du, hvordan funktionen replace() fungerer i Oracle-databaser.