Problem:
Sie möchten einen Teil einer Zeichenfolge durch eine andere Zeichenfolge ersetzen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens investor
mit Daten in den folgenden Spalten:id
, company
, und phone
.
id | Unternehmen | Telefon |
---|---|---|
1 | Großer Markt | 123–300–400 |
3 | Das Sonnige Restaurant | 123–222-456 |
4 | Meine Bank | 123-345-400 |
Wir möchten das Telefonnummernformat für jedes Unternehmen ändern, indem wir den Bindestrich durch ein Leerzeichen ersetzen.
Lösung:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
Die Abfrage gibt eine Liste von Telefonnummern mit Leerzeichen anstelle von Bindestrichen als Trennzeichen zurück:
neues_Telefon |
---|
123 300 400 |
123 222 456 |
123 345 400 |
Diskussion:
Wenn Sie einen Teilstring durch einen anderen String ersetzen möchten, verwenden Sie einfach den REPLACE
Funktion. Diese Funktion benötigt drei Argumente:
- Die zu ändernde Zeichenfolge (in unserem Fall eine Spalte).
- Die zu ersetzende Teilzeichenfolge.
- Die Zeichenfolge, durch die die angegebene Teilzeichenfolge ersetzt werden soll.
Im nächsten Beispiel ersetzen wir das Adjektiv „Big“ in company
Spalte mit 'Klein'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Diese Abfrage zeigt den neuen Namen des Unternehmens für den Investor mit id = 1
an .
new_company |
---|
Kleiner Markt |