trim Function

The trim function enables you to trim leading or trailing characters (or both) from a string.

Syntax

returnvalue trim(source [, position [, trim_character]])

source ::= any*
position ::= "leading"|"trailing"|"both"
trim_character ::= string*
returnvalue ::= string

Semantics

source

The input string that should be trimmed. This argument is implicitly cast to a sequence of strings.

If you provide only the source argument, then the leading and trailing blank spaces are removed.

position

This argument indicates whether leading or trailing or both leading and trailing characters should be removed. The following are the valid values that can be specified for this argument.

trim_character

This argument specifies the characters that should be removed from the source string. If you do not specify this argument, then a blank space is taken as the default value.

Only one character is allowed for this argument. If there are more than one character, then the first character will be used.

If an empty string is specified, then no trimming happens.

return_value

Returns NULL if any of the arguments is NULL.

Returns NULL if any argument is an empty sequence or a sequence with more than one item.

Example 1 - trim function

Create this table and insert values in it to run the trim, ltrim, and rtrim function examples.

CREATE TABLE trim_demo (
  id INTEGER,
  name STRING,
  yearofbirth STRING,
  PRIMARY KEY (id)
)
INSERT INTO trim_demo VALUES (10, "  Peter  ", 1980)
INSERT INTO trim_demo VALUES (20, "Mary", 1973)
INSERT INTO trim_demo VALUES (30, "  Oliver", 2000)
INSERT INTO trim_demo VALUES (40, "John  ", 2000)
SELECT * FROM trim_demo

Output:

+----+-----------+-------------+
| id |   name    | yearofbirth |
+----+-----------+-------------+
| 10 |   Peter   | 1980        |
| 20 | Mary      | 1973        |
| 30 |   Oliver  | 2000        |
| 40 | John      | 2000        |
+----+-----------+-------------+

Example 2 - trim Function

In this example, the id and yearofbirth are selected from the trim_demo table. Notice that the zeros at the end of the yearofbirth are removed using the trim function.

SELECT id, trim(yearofbirth,"trailing",'0') FROM trim_demo

Output:

+----+----------+
| id | Column_2 |
+----+----------+
| 10 | 198      |
| 20 | 1973     |
| 30 | 2        |
| 40 | 2        |
+----+----------+

Example 3 - trim Function

In this example, ‘19’ is provided as the trim_character. However, as per semantics, only the first character ‘1’ will be considered for trimming.

SELECT id, trim(yearofbirth,"leading",'19') FROM trim_demo

Output:

+----+----------+
| id | Column_2 |
+----+----------+
| 10 | 980      |
| 20 | 973      |
| 30 | 2000     |
| 40 | 2000     |
+----+----------+