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 |