Database
 sql >> Datenbank >  >> RDS >> Database

So ersetzen Sie einen Teil einer Zeichenfolge in SQL

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