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

So entfernen Sie führende und/oder nachgestellte Leerzeichen einer Zeichenfolge in T-SQL

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'