Teilen über


TRIM (Transact-SQL)

Gilt für: SQL Server 2017 (14.x) und höher Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric Warehouse in Microsoft Fabric

Entfernt das Leerzeichen char(32) oder andere am Beginn und Ende einer Zeichenfolge angegebene Zeichen.

Entfernt optional das Leerzeichen char(32) oder andere am Beginn und/oder Ende einer Zeichenfolge angegebene Zeichen.

Entfernt ab SQL Server 2022 (16.x) optional das Leerzeichen char(32) oder andere angegebene Zeichen am Beginn und/oder Ende einer Zeichenfolge.

Transact-SQL-Syntaxkonventionen

Syntax

Syntax für SQL Server 2022 (16.x) und frühere Versionen, Azure SQL-Datenbank und Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Syntax für SQL Server 2022 (16.x) und spätere Versionen, Azure SQL Managed Instance und Microsoft Fabric:

Wichtig

Der Datenbank-Kompatibilitätsgrad muss auf 160 festgelegt sein, damit Sie die Schlüsselwörter LEADING, TRAILING oder BOTH verwenden können.

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

Argumente

[ LEADING | TRAILING | BOTH ]

Gilt für: SQL Server 2022 (16.x) und spätere Versionen, Azure SQL Managed Instance und Microsoft Fabric:

Das optionale erste Argument gibt an, welche Seite der Zeichenfolge gekürzt werden soll:

  • LEADING entfernt angegebene Zeichen am Anfang der Zeichenfolge.

  • TRAILING entfernt angegebene Zeichen am Ende der Zeichenfolge.

  • BOTH (Standardpositionsverhalten) entfernt angegebene Zeichen am Anfang und Ende einer Zeichenfolge.

characters

Ein Literal, eine Variable oder ein Funktionsaufruf eines beliebigen Zeichentyps, der sich nicht auf eine Branchenanwendung bezieht (nvarchar, varchar, nchar oder char), mit Zeichen, die entfernt werden sollten. Die Typen nvarchar(max) und varchar(max) sind nicht zulässig.

string

Ein Ausdruck eines beliebigen Zeichentyps (nvarchar, varchar, nchar oder char), aus dem Zeichen entfernt werden sollen.

Rückgabetypen

Gibt einen Zeichenausdruck mit einem Zeichenargumenttyp zurück, aus dem das Leerzeichen char(32) oder andere angegebene Zeichenfolgen auf beiden Seiten entfernt werden sollen. Gibt NULL zurück, wenn die Eingabezeichenfolge NULL ist.

Hinweise

Standardmäßig entfernt die TRIM-Funktion das Leerzeichen am Anfang und auch am Ende der Zeichenfolge. Dieses Verhalten entspricht LTRIM(RTRIM(@string)).

Um das optionale positionelle Argument LEADING, TRAILING oder BOTH in SQL Server 2022 (16.x) zu aktivieren, müssen Sie die Datenbankkompatibilitätsebene 160 für die Datenbank aktvieren, mit der Sie beim Ausführen von Abfragen eine Verbindung herstellen.

  • Bei optionalem positionellem LEADING-Argument entspricht das Verhalten LTRIM(@string, characters).
  • Bei optionalem positionellem TRAILING-Argument entspricht das Verhalten RTRIM(@string, characters).

Beispiele

A. Entfernt Leerzeichen auf beiden Seiten der Zeichenfolge.

Das folgende Beispiel entfernt Leerzeichen vor und nach dem Wort test.

SELECT TRIM( '     test    ') AS Result;

Hier sehen Sie das Ergebnis.

test

B. Entfernt angegebene Zeichen von beiden Seiten der Zeichenfolge

Im folgenden Beispiel wird eine Liste möglicher Zeichen bereitgestellt, die aus einer Zeichenfolge entfernt werden sollen.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

Hier sehen Sie das Ergebnis.

#     test

In diesem Beispiel wurden nur der nachgestellte Punkt und die Leerzeichen vor # und nach dem Wort test entfernt. Die anderen Zeichen wurden ignoriert, da sie in der Zeichenfolge nicht vorhanden waren.

C. Entfernen der angegebenen Zeichen am Anfang einer Zeichenfolge

Wichtig

Der Datenbank-Kompatibilitätsgrad muss auf 160 festgelegt sein, damit Sie die Schlüsselwörter LEADING, TRAILING oder BOTH verwenden können.

Im folgenden Beispiel wird der voranstehende . am Anfang der Zeichenfolge vor dem Wort test entfernt.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

Hier sehen Sie das Ergebnis.

# test .

D: Entfernen der angegebenen Zeichen vom Ende einer Zeichenfolge

Wichtig

Der Datenbank-Kompatibilitätsgrad muss auf 160 festgelegt sein, damit Sie die Schlüsselwörter LEADING, TRAILING oder BOTH verwenden können.

Im folgenden Beispiel wird der nachstehende . der Zeichenfolge nach dem Wort test entfernt.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

Hier sehen Sie das Ergebnis.

.#     test

E. Entfernen der angegebenen Zeichen am Anfang und Ende einer Zeichenfolge

Wichtig

Der Datenbank-Kompatibilitätsgrad muss auf 160 festgelegt sein, damit Sie die Schlüsselwörter LEADING, TRAILING oder BOTH verwenden können.

Im folgenden Beispiel werden die Zeichen 123 am Anfang und Ende der Zeichenfolge 123abc123 entfernt.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

Hier sehen Sie das Ergebnis.

abc