The TRIM function removes blanks or another specified character from the end, from the beginning, or from both of a string expression.
The first argument, if specified, indicates whether characters are removed from the end or beginning of the string. If the first argument is not specified, then the characters are removed from both the end and the beginning of the string.
- The second argument, if specified, is a single-character constant
that indicates the binary, SBCS, or DBCS character that is to be removed.
If expression is a binary string, the second argument must
be a binary string constant. If expression is a DBCS graphic
or DBCS-only string, the second argument must be a graphic constant
consisting of a single DBCS character. If the second argument is not
- If expression is a binary string, then the default strip character is a hexadecimal zero (X'00').
- If expression is a DBCS graphic string, then the default strip character is a DBCS blank.
- If expression is a Unicode graphic string, then the default strip character is a UTF-16 or UCS-2 blank.
- If expression is a UTF-8 character string, then the default strip character is a UTF-8 blank.
- Otherwise, the default strip character is an SBCS blank.
- An expression that returns a value of any built-in numeric or string data type. A numeric argument is cast to a character string before evaluating the function. For more information about converting numeric to a character string, see VARCHAR.
The data type of the result depends on the data type of expression:
|Data type of expression||Data type of the Result|
|CHAR or VARCHAR||VARCHAR|
|GRAPHIC or VARGRAPHIC||VARGRAPHIC|
|BINARY or VARBINARY||VARBINARY|
The length attribute of the result is the same as the length attribute of expression. The actual length of the result is the length of the expression minus the number of bytes removed. If all characters are removed, the result is an empty string.
If the first argument can be null, the result can be null; if the first argument is null, the result is the null value.
The CCSID of the result is the same as that of the string.
The SRTSEQ attribute does not apply to the TRIM function.
- Assume the host variable HELLO of type CHAR(9) has a value of
' Hello '.
Results in 'Hello' and ' Hello' respectively.
SELECT TRIM(:HELLO), TRIM( TRAILING FROM :HELLO) FROM SYSIBM.SYSDUMMY1
- Assume the host variable BALANCE of type CHAR(9) has a value of
Results in: '345.50'
SELECT TRIM( L '0' FROM :BALANCE ) FROM SYSIBM.SYSDUMMY1
- Assume the string to be stripped contains mixed data.
SELECT TRIM( BOTH FROM )