Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

TRIM

Entfernt führende und nachstehende Zeichen aus einer Zeichenfolge.

Bemerkung

Um Zeichen in einer Zeichenfolge zu entfernen, können Sie die Funktion REPLACE verwenden.

Siehe auch::

LTRIM , RTRIM , Zeichenfolgen- und Binärdatentypen

Syntax

TRIM( <expr> [, <characters> ] )
Copy

Argumente

expr

Eine Zeichenfolge, die gekürzt werden soll.

characters

Ein oder mehrere Zeichen, die links und rechts von expr entfernt werden sollen.

Der Standardwert ist ' ' (ein einzelnes Leerzeichen). Wenn keine Zeichen angegeben werden, werden nur Leerzeichen entfernt.

Rückgabewerte

Diese Funktion gibt einen Wert vom Datentyp VARCHAR oder NULL zurück. Wenn eines der beiden Argumente NULL ist, wird NULL zurückgegeben.

Nutzungshinweise

  • Sie können die Zeichen in characters in beliebiger Reihenfolge angeben.

  • Bei Angabe von ' ' in characters werden keine anderen Leerzeichen (wie z. B. Tabulatorzeichen oder Zeilenendezeichen) entfernt. Geben Sie diese Zeichen explizit an, um sie zu entfernen.

  • Um Leerzeichen zu entfernen, müssen die Zeichen explizit in das Argument aufgenommen werden. Beispielsweise entfernt ' $.' alle führenden und nachstehenden Leerzeichen, Dollarzeichen und Punkte aus der Eingabezeichenfolge.

Sortierungsdetails

Sortierung wird unterstützt, wenn das optionale zweite Argument weggelassen wird oder wenn es nur Leerzeichen enthält.

Die Sortierungsspezifikation des zurückgegebenen Werts entspricht der Sortierungsspezifikation des ersten Arguments.

Beispiele

Entfernen führender und nachstehender *- und --Zeichen aus einer Zeichenfolge:

SELECT '*-*ABC-*-' AS original,
       TRIM('*-*ABC-*-', '*-') AS trimmed;
Copy
+-----------+---------+
| ORIGINAL  | TRIMMED |
|-----------+---------|
| *-*ABC-*- | ABC     |
+-----------+---------+

Eine nachstehende neue Zeile aus einer Zeichenfolge entfernen. In diesem Beispiel wird die Funktion CONCAT verwendet, um die Zeichenfolgen in die Zeichen > und < einzuschließen, um die Visualisierung der Leerzeichen zu erleichtern:

SELECT CONCAT('>', CONCAT('ABC\n', '<')) AS original,
       CONCAT('>', CONCAT(TRIM('ABC\n', '\n'), '<')) AS trimmed;
Copy
+----------+---------+
| ORIGINAL | TRIMMED |
|----------+---------|
| >ABC     | >ABC<   |
| <        |         |
+----------+---------+

Entfernen führender und nachstehender Leerzeichen aus einer Zeichenfolge. In diesem Beispiel werden die Zeichenfolgen von >- und <-Zeichen eingeschlossen, um die Visualisierung der Leerzeichen zu erleichtern: Es zeigt auch, dass die Funktion NULL für die Eingabe von NULL zurückgibt.

CREATE OR REPLACE TABLE test_trim_function(column1 VARCHAR);

INSERT INTO test_trim_function VALUES ('  Leading Spaces'), ('Trailing Spaces  '), (NULL);

SELECT CONCAT('>', CONCAT(column1, '<')) AS original_values,
       CONCAT('>', CONCAT(TRIM(column1), '<')) AS trimmed_values
  FROM test_trim_function;
Copy
+---------------------+-------------------+
| ORIGINAL_VALUES     | TRIMMED_VALUES    |
|---------------------+-------------------|
| >  Leading Spaces<  | >Leading Spaces<  |
| >Trailing Spaces  < | >Trailing Spaces< |
| NULL                | NULL              |
+---------------------+-------------------+