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önnenLEADING
definieren (vom Anfang entfernen) oderTRAILING
(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)