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, |
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 |
LT_1 LT_2 LT_3 RT_1 RT_2 RT_3 |
9900 9900 0008889900 000888 000888 0008889900 |
本書用のWebアプリを使ってSQLを実行し学習していきます。初心者の方に分かりやすく、図表を多く使って解説されています。 学習の最後には200問越えのドリルが付いていてSQLのスキルが試せる様になっています。