TRIM

TRIM関数は、文字列から先行文字または後続文字(あるいはその両方)を削除します。

SQL構文

TRIMには、次の4つの構文オプションがあります。

  • TRIMの修飾子の1つ(LEADINGTRAILINGまたはBOTH)をTrim_characterと組み合せて指定します。

    TRIM ( LEADING|TRAILING|BOTH Trim_character FROM Expression )
    
  • TRIMの修飾子の1つ(LEADINGTRAILINGまたはBOTH)をTrim_characterなしで指定します。この場合、Trim_characterは空白にデフォルト設定されます。

    TRIM ( LEADING|TRAILING|BOTH FROM Expression )
    
  • TRIMの修飾子なしでTrim_characterを指定すると、先行および後続する両方のTrim_characterのインスタンスがExpressionから削除されます。

    TRIM (Trim_character FROM Expression )
    
  • 修飾子やTrim_characterなしでExpressionを指定すると、Expressionから先行および後続する空白文字が削除されます。

    TRIM ( Expression )

パラメータ

TRIMには、次のパラメータがあります。

パラメータ 説明

LEADING | TRAILING | BOTH

LEADING | TRAILING| BOTHは、TRIM関数の修飾子です。LEADINGは、Expressionから先行するすべてのTrim_characterのインスタンスを削除します。TRAILINGは、Expressionから後続するすべてのTrim_characterのインスタンスを削除します。BOTHは、Expressionから先行および後続するすべてのTrim_characterのインスタンスを削除します。

[Trim_character]

指定すると、Trim_characterは、Expressionの切り捨てに使用されるCHARVARCHAR2NCHARNVARCHAR2CLOBNCLOBのオペランドまたは列を表します。1つの文字のみを指定できます。Trim_characterを指定しない場合は、単一の空白文字にデフォルト設定されます。Trim_characterが文字リテラルの場合は、その文字リテラルを一重引用符で囲みます。

Expression

Expressionは、切捨の対象になるCHARVARCHAR2NCHARNVARCHAR2CLOBNCLOBのオペランドまたは列です。Expressionが文字リテラルの場合は、その文字リテラルを一重引用符で囲みます。

説明

  • ExpressionCHAR型またはVARCHAR2型の場合、戻されるデータ型はVARCHAR2になります。ExpressionNCHAR型またはNVARCHAR2型の場合、戻されるデータ型はNVARCHAR2になります。ExpressionCLOB型の場合、戻されるデータ型はCLOBになります。ExpressionNCLOB型の場合、戻されるデータ型はNCLOBになります。戻されるデータ型の長さは、Expressionのデータ型の長さと等しくなります。

  • ExpressionCHAR長セマンティクスで定義されたデータ型の場合、戻される長さはCHAR長セマンティクスで表現されます。

  • Trim_characterExpressionのどちらかがNULLの場合、結果はNULLになります。

  • Trim_characterExpressionには、TT_CHARTT_VARCHARTT_NCHARおよびTT_NVARCHARを指定できます。ExpressionTT_CHAR型またはTT_VARCHAR型の場合、戻されるデータ型はTT_VARCHARになります。ExpressionTT_NCHAR型またはTT_NVARCHAR型の場合、戻されるデータ型はTT_NVARCHARになります。

  • Trim_characterNCHAR型またはNVARCHAR2型で、ExpressionCHAR型またはVARCHAR2型の場合、Trim_characterTRIMの実行前にCHARまたはVARCHAR2に変換されます。Trim_characterの変換は失われる可能性があります。Trim_characterがデータベース文字セットに含まれない場合、問合せにより予期しない結果が発生する可能性があります。

  • CHARVARCHAR2NCHARNVARCHAR2CLOBおよびNCLOB型の場合:

    • Expressionのすべての文字がTRIM関数によって削除された場合、結果はNULLになります。

  • TT_CHARTT_VARCHARTT_NCHARおよびTT_NVARCHAR型の場合:

    • Expressionのすべての文字がTRIM関数によって削除された場合、結果は空の文字列になります。

TRIM関数を修飾子とともに使用して、'0000TRIM Example0000'Expressionから'0'Trim_characterを削除します。

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関数を'0'Trim_characterとともに使用します。修飾子は指定しません。'0000TRIM Example0000'Expressionから、先行および後続する'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;