Funktionsgruppe: Zeichenkettenfunktion
TRIM() entfernt führende und/oder nachgestellte Zeichen einer Zeichenkette.
TRIM ([[LEADING | TRAILING | BOTH][
zeichen ] FROM]
ausdruck)
zeichen ::=
ausdruck
zeichen / ausdruck
zeichen und ausdruck sind entweder beide alphanumerische Ausdrücke (Datentyp CHAR oder VARCHAR) oder beide National-Ausdrücke (Datentyp NCHAR oder NVARCHAR).
Keiner der Operanden darf ein multipler Wert mit Dimension > 1 sein.
Der Wert von zeichen hat die Länge 1. Wenn Sie zeichen nicht angeben, gilt als Voreinstellung das Leerzeichen ( ).
FROM
FROM-Operator; Sie dürfen FROM nur angeben, wenn Sie auch LEADING, TRAILING oder BOTH und/oder zeichen angeben.
Ergebnis
Wenn zeichen und/oder ausdruck den NULL-Wert ergibt, ist das Ergebnis der NULL-Wert.
Sonst:
Das Ergebnis ist eine Kopie der Zeichenkette, die sich bei der Auswertung von ausdruck ergibt, jedoch werden führende und/oder nachgestellte Zeichen entfernt, sofern sie dem Wert von zeichen entsprechen. Ob führende oder nachgestellte Zeichen entfernt werden, ist abhängig davon, ob Sie LEADING, TRAILING oder BOTH angeben:
LEADING: Führende Zeichen werden entfernt.
TRAILING: Nachgestellte Zeichen werden entfernt.
BOTH: Führende und nachgestellte Zeichen werden entfernt. BOTH ist Voreinstellung.
Datentyp:
Wenn ausdruck den alphanumerischen Datentyp CHAR( n) oder VARCHAR( n) hat, dann hat das Ergebnis den alphanumerischen Datentyp VARCHAR( n).
Wenn ausdruck den National-Datentyp NCHAR(n) oder NVARCHAR(n) hat, dann hat das Ergebnis den National-Datentyp NVARCHAR(n).
Beispiele
Folgende Beispiele sind äquivalent und liefern den Wert 'ABC'.
TRIM(' ABC ')
TRIM (BOTH ' ' FROM ' ABC ')
Folgendes Beispiel liefert den Wert 'URDUGUDRU'.
TRIM (BOTH N'N' FROM N'NURDUGUDRUN')
In die Tabelle DOZENTEN wird ein Satz eingefügt. Die Spalte ANREDE der Tabelle hat den Datentyp VARCHAR(50). Sie soll den Wert 'Herr Professor' erhalten.
Die entsprechende COBOL-Benutzervariable hat den Datentyp PIC X(50). Damit in die Spalte ANREDE nur der Wert 'Herr Professor' und nicht der Wert 'Herr Professor...' mit 36 nachgestellten Leerzeichen übertragen wird, benutzt man die Zeichenkettenfunktion TRIM:
INSERT INTO dozenten (..., anrede, ...)
VALUES (..., TRIM (TRAILING FROM :ANREDE), ...)