TRIM関数は、文字列から先行文字または後続文字(あるいはその両方)を削除します。
SQL構文
TRIMには、次の4つの有効な構文オプションがあります。
Trim_characterと組み合せてTRIM修飾子の1つ(LEADING、TRAILINGまたはBOTH)を指定します。
TRIM ( LEADING|TRAILING|BOTHTrim_characterFROMExpression)
Trim_characterなしでTRIM修飾子の1つ(LEADING、TRAILINGまたはBOTH)を指定します。
TRIM ( LEADING|TRAILING|BOTH FROM Expression )
TRIM修飾子なしでTrim_characterを指定します。
TRIM (Trim_characterFROMExpression)
修飾子またはTrim_characterなしでExpressionを指定します。
TRIM ( Expression )
パラメータ
TRIMには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
| TRIM (
LEADING | TRAILING | BOTH [ FROM
|
LEADING、TRAILINGまたはBOTHは、TRIM関数の修飾子です。LEADINGは、ExpressionからTrim_characterのすべての先行文字を削除します。TRAILINGは、ExpressionからTrim_characterのすべての後続文字を削除します。BOTHは、ExpressionからTrim_characterの先行文字と後続文字を削除します。
FROMは必須です。
|
| TRIM (
FROM
|
ExpressionからTrim_characterの先行文字と後続文字の両方を削除します。
FROMは
|
| TRIM (
|
(修飾子またはTrim_characterなしで)Expressionを指定すると、Expressionから先行および後続の空白文字が削除されます。
|
説明
LEADING修飾子を指定すると、TRIMにより、ExpressionからTrim_characterに等しいすべての先行文字が削除されます。
TRAILING修飾子を指定すると、TRIMにより、ExpressionからTrim_characterに等しいすべての後続文字が削除されます。
BOTH修飾子を指定するか、修飾子を何も指定しないと、TRIMにより、ExpressionからTrim_characterに等しい先行文字と後続文字が削除されます。
Expressionのみを指定すると、TRIMにより、先行および後続の空白文字が削除されます。
ExpressionがCHARまたはVARCHAR2型の場合、戻されるデータ型はVARCHAR2です。 ExpressionがNCHARまたはNVARCHAR2型の場合、戻されるデータ型はNVARCHAR2です。戻されるデータ型の長さは、Expressionのデータ型の長さに等しくなります。
Expressionが文字長セマンティクスで定義されたデータ型の場合、戻される長さは文字長セマンティクスで表現されます。
Trim_characterまたはExpressionのいずれかがNULLの場合、結果はNULLです。
Trim_characterとExpressionには、TT_CHAR、TT_VARCHAR、TT_NCHARおよびTT_NVARCHARを指定できます。ExpressionがTT_CHARまたはTT_VARCHAR型の場合、戻されるデータ型はTT_VARCHARです。 ExpressionがTT_NCHARまたはTT_NVARCHAR型の場合、戻されるデータ型はTT_NVARCHARです。
Trim_characterがNCHARまたはNVARCHAR2型で、ExpressionがCHARまたはVARCHAR2型の場合、Trim_characterはTRIMの実行前にCHARまたはVARCHAR2に変換されます。Trim_characterの変換は失われる可能性があります。 Trim_characterがデータベースのキャラクタ・セットに含まれない場合、問合せにより予期しない結果が発生する可能性があります。
CHAR、VARCHAR2、NCHARおよびNVARCHAR2型の場合:
Expressionのすべての文字がTRIM関数により削除された場合、結果はNULLになります。
TT_CHAR、TT_VARCHAR、TT_NCHARおよびTT_NVARCHAR型の場合:
Expressionのすべての文字がTRIM関数により削除された場合、結果は空の文字列になります。
例
TRIM関数を修飾子とともに使用し、Expressionの0000TRIM Example0000からTrim_characterの0(ゼロ)を削除します。
Command> SELECT TRIM (LEADING '0' FROM '0000TRIM Example0000') FROM dual; < TRIM Example0000 > 1 row found. Command> SELECT TRIM (TRAILING '0' FROM '0000TRIM Example0000') FROM dual; < 0000TRIM Example > 1 row found. Command> SELECT TRIM (BOTH '0' FROM '0000TRIM Example0000') FROM dual; < TRIM Example > 1 row found.
TRIM関数を修飾子とともに使用し、空白文字を削除します。 Trim_characterは指定しません。 Trim_characterのデフォルト値は、空白文字です。
Command> SELECT TRIM (LEADING FROM ' TRIM Example ') FROM dual; < TRIM Example > 1 row found. Command> SELECT TRIM (TRAILING FROM ' TRIM Example ') FROM dual; < TRIM Example > 1 row found. Command> SELECT TRIM (BOTH FROM ' TRIM Example ') FROM dual; < TRIM Example > 1 row found.
TRIM関数をTrim_characterの0(ゼロ)とともに使用します。修飾子は指定しません。 Expressionの0000TRIM Example0000から、先行および後続の0(ゼロ)が削除されます。
Command> SELECT TRIM ('0' FROM '0000TRIM Example0000') FROM dual;
< TRIM Example >
1 row found.
TRIM関数を修飾子またはTrim_characterなしで使用します。先行および後続の空白文字が削除されます。
< TRIM Example >
1 row found.
Command> SELECT TRIM (' TRIM Example ') FROM dual;