Oracle SQL 関数 : TRIM : 文字列空白除去

 stringRet := TRIM( [ [ LEADING | TRAILING | BOTH ] stringTrimChar FROM ]  stringSrc );

  LEADINGを指定 :stringSrcの先頭からstringTrimCharの文字を削除されます。
  TRAILINGを指定:stringSrcの最後からstringTrimCharの文字を削除されます。
  BOTHを指定か指定無:stringSrcの先頭及び最後からstringTrimCharの文字を削除されます。
  
  stringTrimCharを指定しない場合はデフォルトで空白が削除されます。
  stringSrcのみ指定された場合は先頭及び最後から空白が削除されます。
  stringTrimChar, stringSrcのいづれかがNULLの場合はNULLを返します。
  (stringTrimChar:1個のみの文字の指定)
SQL> SELECT TRIM(LEADING  '0' FROM '00088899900') LEADING,
  2         TRIM(TRAILING '0' FROM '00088899900') TRAILING,
  3         TRIM(BOTH     '0' FROM '00088899900') BOTH,
  4         TRIM('0' FROM '00088899900')  BOTH2,
  5         TRIM('   8888999  ')          SPACE,
  6         TRIM(NULL FROM '00088899900') NULL1,
  7         TRIM(NULL)                    NULL2
  8  FROM DUAL;

LEADING  TRAILING  BOTH   BOTH2  SPACE   N N
-------- --------- ------ ------ ------- - -
88899900 000888999 888999 888999 8888999

TRIMに似た関数としてLTRIM,RTRIMがあります。

 stringRet := xTRIM( stringSrc [ , stringTrim ] );
  
  stringSrcの左側(右側)にあるstringTrimに設定された文字を削除します。
  stringSrcの左(右)から検索しstringTrimの文字以外が見つかった時点で処理をやめて文字列を返します。
  尚、stringTrimのデフォルト値は空白です。
SQL> SELECT LTRIM('0008889900','08') LT_1,LTRIM('0008889900','80') LT_2,LTRIM('  0008889900') LT_3,
  2         RTRIM('0008889900','09') RT_1,RTRIM('0008889900','90') RT_2,RTRIM('0008889900  ') RT_3
  3  FROM DUAL;

LT_1 LT_2 LT_3       RT_1   RT_2   RT_3
---- ---- ---------- ------ ------ ----------
9900 9900 0008889900 000888 000888 0008889900