Problem:
Sie möchten ein Leerzeichen oder ein bestimmtes Zeichen am Anfang und am Ende einer Zeichenfolge entfernen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens company
mit Daten in zwei Spalten:id
und name
.
id | Name |
---|---|
1 | 'Supermarkt' |
2 | 'Grüner Laden' |
3 | 'Moderne Buchhandlung' |
Lassen Sie uns den Namen jedes Unternehmens 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(' ' FROM name) AS new_name FROM company;
Alternativ können Sie auch die kürzere Version ohne FROM
verwenden Schlüsselwort und Leerzeichen als zu entfernende Zeichen; standardmäßig TRIM
behandelt dies als das Entfernen von Leerzeichen aus einer Zeichenfolge, die in einer bestimmten Spalte oder einem Ausdruck im Argument der TRIM-Funktion gespeichert ist.
SELECT TRIM(name) AS new_name FROM company;
Hier ist das Ergebnis beider Abfragen:
neuer_name |
---|
'Supermarkt' |
'Grüner Laden' |
'Moderne Buchhandlung' |
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 und am Ende einer Zeichenfolge entfernen. Diese Funktion akzeptiert die folgenden Argumente:
- Das Zeichen, das Sie aus der Zeichenfolge entfernen möchten, standardmäßig ist es ein Leerzeichen..
- Der
FROM
Schlüsselwort, gefolgt vom Namen der zu trimmenden Zeichenfolgenspalte.
In unserem Beispiel sieht das so aus:
TRIM(' ' FROM name)
T-SQL erlaubt auch das Entfernen von Leerzeichen anderer Zeichen nur am Anfang oder nur am Ende einer Zeichenfolge.
Im folgenden Beispiel wird das Leerzeichen am Ende jeder Firma entfernt, indem die Funktion RTRIM() verwendet wird.
SELECT RTRIM(name) AS new_name FROM company;
neuer_name |
---|
'Supermarkt' |
'Grüner Laden' |
'Moderne Buchhandlung' |
Kann aber genauso gut verwendet werden, um den Abstand am Anfang zu kürzen, wenn Sie den LTRIM
verwenden Funktion stattdessen:
SELECT LTRIM(name) AS new_name FROM company;
Die Abfrage gibt den name
zurück Spalte ohne Leerzeichen am Ende. Beachten Sie, dass die Leerzeichen am Anfang unberührt bleiben.
neuer_name |
---|
'Supermarkt' |
'Grüner Laden' |
'Moderne Buchhandlung' |