Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So entfernen Sie führende und nachfolgende Zeichen in SQL Server

In SQL Server das TRIM() Die Funktion wird häufig verwendet, um führende und nachgestellte Leerzeichen aus einer Zeichenfolge zu entfernen. Aber wussten Sie, dass Sie auch andere Zeichen am Anfang/Ende einer Zeichenfolge entfernen können? Es müssen keine Leerzeichen sein.

TRIM() ist eine T-SQL-Funktion, die speziell das Leerzeichen char(32) entfernt oder andere festgelegte Zeichen vom Anfang oder Ende einer Zeichenfolge.

Syntax

Die Syntax lautet wie folgt:

TRIM ( [ characters FROM ] string )

Die string Argument ist ein erforderliches Argument – ​​es ist die eigentliche zu kürzende Zeichenfolge.

Die characters FROM ist ein optionales Argument ist das Bit, mit dem Sie angeben können, welche Zeichen entfernt werden sollen (vorausgesetzt, Sie entfernen nicht nur das Leerzeichen). Wenn Sie keine Zeichen angeben, wird das Leerzeichen gekürzt.

Beispiel

Hier ist ein einfaches Beispiel für das Trimmen von führenden und nachgestellten Gleichheitszeichen (= ) aus einer Zeichenfolge:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Ergebnis

Result  
--------
SPECIALS

Mehrere Instanzen eines Charakters

Es kürzt auch mehrere Instanzen des angegebenen Zeichens.

Beispiel:

SELECT TRIM('=' FROM '===SPECIALS===') AS Result;

Ergebnis:

Result  
--------
SPECIALS

Mehrere Zeichen kürzen

Außerdem können Sie mehrere Zeichen zuschneiden.

Beispiel:

SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;

Ergebnis:

Result  
--------
SPECIALS

Eingebetteter Leerraum

Wenn Leerzeichen innerhalb der getrimmten Zeichen vorhanden sind, erwarten Sie nicht, dass diese Leerzeichen getrimmt werden (es sei denn, Sie geben das Leerzeichen auch ausdrücklich als eines der zu trimmenden Zeichen an).

Folgendes meine ich:

SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

Ergebnis:

Result        
--------------
   SPECIALS   

In diesem Fall wird das Gleichheitszeichen abgeschnitten, aber der Leerraum bleibt bestehen. Das liegt daran, dass sich der Leerraum nicht unmittelbar links und/oder rechts von der Zeichenfolge befindet.

Wenn wir beide Gleichheitszeichen und entfernen wollen das Leerzeichen, können wir einfach ein Leerzeichen zur Liste der zu kürzenden Zeichen hinzufügen:

SELECT TRIM('= ' FROM '=   SPECIALS   =') AS Result;

Ergebnis:

Result  
--------
SPECIALS

Zeichen umgeben von Leerzeichen

Ähnlich wie im vorherigen Beispiel können Sie nicht erwarten, dass SQL Server das angegebene Zeichen kürzt, wenn sich zwischen ihm und dem Anfang/Ende der Zeichenfolge Leerzeichen befinden.

Zum Beispiel:

SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Ergebnis:

Result          
----------------
   =SPECIALS=

In diesem Beispiel wurde nichts getrimmt. Das liegt daran, dass sich zwischen den Gleichheitszeichen und dem Anfang/Ende der Zeichenfolge Leerzeichen befinden.

In diesem Fall können Sie einfach das Leerzeichen als eines der zu kürzenden Zeichen hinzufügen:

SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

Ergebnis:

Result  
--------
SPECIALS

Weitere Beispiele für die Verwendung von TRIM() Informationen zum Entfernen von Leerzeichen links und rechts von einer Zeichenfolge finden Sie unter So entfernen Sie führende und nachgestellte Leerzeichen in SQL Server.