Problem:
Sie möchten bestimmte Zeichen am Anfang und am Ende einer Zeichenfolge entfernen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens post
mit Daten in zwei Spalten:id
und title
.
id | Titel |
---|---|
1 | 'Neuigkeiten rund um den Hund' |
3 | „Eurovision 2019“ |
4 | „Neues politisches Klima“ |
Lassen Sie uns den Titel jedes Beitrags kürzen, um den unnötigen Platz am Anfang und am Ende zu entfernen.
Lösung:
Wir verwenden den TRIM
Funktion. Hier ist die Abfrage, die Sie schreiben würden:
SELECT TRIM( BOTH ' ' FROM title ) as new_title FROM post;
Alternativ können Sie die kürzere Version ohne BOTH
verwenden Stichwort; standardmäßig TRIM
behandelt dies als BEIDE Operation.
SELECT TRIM(' ' FROM title ) as new_title FROM post;
Hier ist das Ergebnis beider Abfragen:
new_title |
---|
„Neues über Hunde“ |
„Eurovision 2019“ |
„Neues politisches Klima“ |
Diskussion:
Verwenden Sie den TRIM
-Funktion, wenn Sie eine Zeichenfolge in einer Tabelle kürzen möchten. Mit dieser Funktion können Sie ein bestimmtes Zeichen am Anfang oder Ende einer Zeichenfolge oder an beiden Enden entfernen. Diese Funktion akzeptiert die folgenden Argumente:
- Ein Schlüsselwort, das die Enden angibt, von denen abgeschnitten werden soll (optional –
BOTH
standardmäßig). - Das Zeichen, das Sie aus der Zeichenfolge entfernen möchten.
- Der
FROM
Schlüsselwort, gefolgt vom Namen der zu trimmenden Zeichenfolgenspalte.
In unserem Beispiel sieht das so aus:
TRIM( BOTH ' ' FROM title )
Wie oben erwähnt, TRIM
kann andere Schlüsselwörter als erstes Argument annehmen. Zusätzlich zum Trimmen an beiden Enden ermöglicht es uns, ein Zeichen nur am Ende einer Zeichenfolge oder nur am Anfang zu entfernen:
TRAILING
(am Ende entfernen)LEADING
(vom Anfang entfernen)
Das folgende Beispiel entfernt den Leerraum am Ende jedes Titels (kann aber genauso gut verwendet werden, um den Leerraum am Anfang zu kürzen, wenn Sie den LEADING
verwenden statt Schlüsselwort):
SELECT TRIM( TRAILING ' ' FROM title ) as new_title FROM post;
Die Abfrage gibt den title
zurück Spalte ohne Leerzeichen am Ende. Beachten Sie, dass die Leerzeichen am Anfang unberührt bleiben.
new_title |
---|
„Neuigkeiten rund um den Hund“ |
„Eurovision 2019“ |
„Neues politisches Klima“ |