カテゴリ:

文字列とバイナリ関数 (一般)

TRIM

文字列から先頭と末尾の文字を削除します。

注釈

文字列内の文字を削除するには、 REPLACE 関数を使用します。

こちらもご覧ください:

LTRIMRTRIM文字列およびバイナリデータ型

構文

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

引数

expr

削除される文字列式です。

characters

expr の左右から削除する1つ以上の文字です。

デフォルト値は ' ' (単一空白文字)です。文字が指定されていない場合は、空白のみが削除されます。

戻り値

この関数は VARCHAR データ型の値または NULL を返します。いずれかの引数が NULL の場合は、 NULL を返します。

使用上の注意

  • characters で任意の順番で文字を指定できます。

  • characters での ' ' の指定は、他の空白文字(タブ文字や行末文字など)を削除しません。これらの文字を削除するには、明示的に指定します。

  • 空白を削除するには、文字を引数に明示的に含める必要があります。たとえば、 ' $.' は、入力文字列から先頭と後続の空白スペース、ドル記号、ピリオドをすべて削除します。

照合順序の詳細

オプションの2番目の引数が省略されている場合、または空白のみが含まれている場合は、 照合 がサポートされます。

戻り値の照合指定は、最初の引数の照合指定と同じです。

文字列から先頭と末尾の * および - 文字を削除します。

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

文字列から後続の改行を削除します。この例では、文字列を > および < 文字で囲み、空白を視覚化するために、 CONCAT 関数を使用しています。

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

文字列から先頭と末尾の空白を削除します。この例では、文字列を > および < 文字で囲み、空白を視覚化します。また、この関数は NULL 入力に対して NULL を返すことも示しています。

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              |
+---------------------+-------------------+