- カテゴリ:
文字列とバイナリ関数 (一般)
TRIM¶
文字列から先頭と末尾の文字を削除します。
注釈
文字列内の文字を削除するには、 REPLACE 関数を使用します。
- こちらもご覧ください:
構文¶
TRIM( <expr> [, <characters> ] )
引数¶
expr
削除される文字列式です。
characters
expr
の左右から削除する1つ以上の文字です。デフォルト値は
' '
(単一空白文字)です。文字が指定されていない場合は、空白のみが削除されます。
戻り値¶
この関数は VARCHAR データ型の値または NULL を返します。いずれかの引数が NULL の場合は、 NULL を返します。
使用上の注意¶
characters
で任意の順番で文字を指定できます。characters
での' '
の指定は、他の空白文字(タブ文字や行末文字など)を削除しません。これらの文字を削除するには、明示的に指定します。
空白を削除するには、文字を引数に明示的に含める必要があります。たとえば、
' $.'
は、入力文字列から先頭と後続の空白スペース、ドル記号、ピリオドをすべて削除します。
照合順序の詳細¶
オプションの2番目の引数が省略されている場合、または空白のみが含まれている場合は、 照合 がサポートされます。
戻り値の照合指定は、最初の引数の照合指定と同じです。
例¶
文字列から先頭と末尾の *
および -
文字を削除します。
SELECT '*-*ABC-*-' AS original,
TRIM('*-*ABC-*-', '*-') AS trimmed;
+-----------+---------+
| ORIGINAL | TRIMMED |
|-----------+---------|
| *-*ABC-*- | ABC |
+-----------+---------+
文字列から後続の改行を削除します。この例では、文字列を >
および <
文字で囲み、空白を視覚化するために、 CONCAT 関数を使用しています。
SELECT CONCAT('>', CONCAT('ABC\n', '<')) AS original,
CONCAT('>', CONCAT(TRIM('ABC\n', '\n'), '<')) AS trimmed;
+----------+---------+
| 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;
+---------------------+-------------------+
| ORIGINAL_VALUES | TRIMMED_VALUES |
|---------------------+-------------------|
| > Leading Spaces< | >Leading Spaces< |
| >Trailing Spaces < | >Trailing Spaces< |
| NULL | NULL |
+---------------------+-------------------+