In diesem Artikel wird die Verwendung der Funktion replace() in der Oracle-Datenbank untersucht, um das Vorkommen einer bestimmten Teilzeichenfolge durch eine andere Teilzeichenfolge zu ersetzen.
Funktionssyntax
Der folgende Code zeigt die Syntax der Funktion replace():
REPLACE(Quellzeichenfolge, Teilzeichenfolge, Ersatzzeichenfolge);
Die Funktion akzeptiert drei Parameter:
- Quellzeichenfolge – steht für die zu durchsuchende Quellzeichenfolge.
- Teilzeichenfolge – setzt den zu ersetzenden Teilstring
- Ersatzzeichenfolge – definiert die Zeichenfolge oder den Satz von Zeichen, die anstelle der Teilzeichenfolge eingesetzt werden.
Die Funktion gibt einen Zeichenfolgentyp zurück, bei dem alle Vorkommen der Teilzeichenfolge durch die Ersatzzeichenfolge ersetzt werden.
Oracle Replace()-Funktionsbeispiele
Die folgenden Beispiele zeigen, wie sich die Funktion unter verschiedenen Parametern und Eingabetypen verhält:
Beispiel 1 – Substring-Vorkommen ersetzen
Das folgende Beispiel veranschaulicht die primäre Verwendung der Funktion replace() mit allen bereitgestellten Eingabeparametern.
select replace('Oracle-Datenbankentwicklung', 'ab', 'xy') AS ersetztvon dual;
Die obige Abfrage verwendet die Funktion replace(), um die Zeichen (ab) durch (xy) zu ersetzen. Ergebnisausgabe:
ERSETZT |
--------------------------+
Oracle datxyase-Entwicklung|
Beispiel 2 – Verwenden der Replace-Funktion zum Entfernen einer Teilzeichenfolge
Wie bereits erwähnt, können wir die Funktion replace() verwenden, um einen Teilstring aus dem Quellstring zu entfernen. Dies tritt auf, wenn wir den Wert aus der Teilzeichenfolge nicht wie gezeigt bereitstellen:
SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;Ergebnis:
D |
-------------+
linuxhint.com|
Beispiel 3 – Werte in einer Tabelle ersetzen
Wir verwenden häufig die Funktion replace(), um Werte in einer Datenbanktabelle zu ersetzen. Nehmen Sie die gezeigte Beispieltabelle:
Tabelle sample_data erstellen(
ID Nummer,
vorname varchar2(50),
ip_address varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
Kennung varchar2(40),
Einschränkung sample_pk Primärschlüssel (ID)
);
insert into sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
Werte (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
insert into sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
Werte (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
insert into sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
Werte (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');
Erklärung vor dem Update:
WÄHLEN SIE VORNAME, IP_ADRESSE, KREDITKARTE AUS SAMPLE_DATA sd;
Wir können die Funktion replace() verwenden, um alle Vorkommen von 4 in der Spalte credit_card durch eine 5 zu ersetzen.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');Nach der Update-Anweisung:
In der resultierenden Tabelle können wir überprüfen, ob die Werte in den credit_card-Spalten von 4 auf 5 gesetzt wurden.
Fazit
Durch dieses Tutorial haben Sie die Funktionsweise der replace()-Funktion in Oracle-Datenbanken verstanden.