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.