Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So entfernen Sie unerwünschte führende Zeichen aus einer Zeichenfolge in MySQL

Problem:

Sie möchten eine Zeichenfolge am Anfang einer Zeichenfolge entfernen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens product mit Daten in drei Spalten:id , Name und Modell .

id Name Modell
1 ansehen Lx0A123
2 Smartwatch Lx0W34
3 Uhrenfoto Lx0G100

Lassen Sie uns den Modellcode jedes neuen Produkts kürzen und die unnötigen Zeichen (Lx0) am Anfang entfernen.

Lösung 1:

Wir verwenden TRIM() Funktion. Hier ist die Abfrage, die Sie schreiben würden:

SELECT name, 
  TRIM(LEADING 'Lx0' FROM model ) AS new_model_code
FROM product;

Hier ist das Ergebnis:

name new_model_code
beobachten A123
Smartwatch W34
Uhrenfoto G100

Diskussion:

Verwenden Sie das TRIM() Funktion mit dem LEADING Schlüsselwort zum Entfernen von Zeichen am Anfang einer Zeichenfolge. Mit TRIM() können Sie bestimmte Zeichen oder Leerzeichen am Anfang, am Ende oder an beiden Enden einer Zeichenfolge entfernen. Diese Funktion akzeptiert die folgenden Argumente:

  • Ein optionales Schlüsselwort, das die zu trimmenden Enden angibt. Standardmäßig ist es BOTH , aber Sie können LEADING definieren (vom Anfang entfernen) oder TRAILING (vom Ende entfernen).
  • Ein String, der die Zeichen/Leerzeichen definiert, die Sie aus dem String entfernen möchten (in unserem Beispiel die Sequenz „Lx0“).
  • Der FROM Schlüsselwort.
  • Der zu kürzende String-/Spaltenname (in unserem Beispiel das model Spalte).

In unserem Beispiel sieht das so aus:

TRIM(LEADING 'Lx0' FROM model)