ORACLE対文字列脱スペース処理(trim)
3554 ワード
原文リンク:原文リンク
まずこのTrim関数です.Trim関数には任意の指定文字を削除する機能があり、文字列の先頭と末尾のスペースを削除する機能はtrim関数が最も使用される頻度の高いものです.構文Trim(string)、パラメータstring:stringタイプ.先頭と末尾のスペースを削除する文字列戻り値Stringを指定します.関数の実行に成功するとstring文字列の先頭と末尾のスペースが削除された文字列が返され、エラーが発生した場合は空の文字列("")が返されます.パラメータ値がnullの場合、空のポインタ異常が放出されます.oracleではtrimが使用する形式はヒトrtrim()とltrim()の2種類が多く、それぞれ文字列の右のスペースを除去することと文字列の左のスペースを除去することである.
構文:trim([{{leading|trailing|both}[trim_character]|trim_character}from]trim_source
1)、いかなるパラメータも使用しない
これは最も一般的な使用方法で、デフォルトのパラメータが使用され、デフォルトではTRIMは文字列の前後に現れるスペースを同時に削除します.
2)、bothパラメータを使用して、効果は方法がいかなるパラメータを使用しないことに等しい
SQL> select trim(both from ’ 11 ') aa from dual;
「BOTH」パラメータは、文字列の前後で指定された内容を同時に削除することを示します(デフォルトではスペースを削除します).
3)、leadingとtrailingパラメータの使用
結果からスコアセパレータ'-'を選択すると、leadingパラメータを使用すると文字列の右端のスペースが除去され、trailingパラメータを使用すると文字列の左端のスペースが除去されることがわかります.Oracleが提供するrtrim()とltrim()のように.
4)、trim_を使うcharacterパラメータ
trim_characterパラメータは、「スペースの削除」のデフォルトの動作を変更します.文字列'xxxxWORLDxxxxx'の前後に表示される「x」を削除するには、「trim_character」パラメータが役立ちます.
trim_characterは、「both」、「trailing」、「leading」の3つのパラメータを組み合わせて、以前のプレゼンテーションと同様に効果を発揮します.結果を見て、言うまでもない.
ここで、「trim_character」パラメータには1文字のみが許可されており、複数文字はサポートされていません.trimはマルチ文字除去の要件を満たすことはできませんが、rtrimとltrimを使用して処理することができます.
1)rtrimの使用
2)ltrimの使用
3)RTRIMとLTRIM関数を併用して我々の目的を達成する
rtrimとltrim関数を使用する場合の注意事項:「OR」は、「OR」文字列全体を一致させるのではなく、任意の文字「O」または文字「R」が削除操作されていることがわかります.
trim関数の応用について紹介しますが、replace関数を紹介します.個人的にはreplace関数はスペースを取るときに使いやすいと思います.replace関数は、最初の文字列式に現れる2番目の与えられた文字列式を3番目の式で置き換えます.replace関数の構文説明を見てみましょう.replace(‘string_replace 1’,‘string_replace 2’,‘string_replace 3’)
‘string_replace 1'検索する文字列式、string_replace 1は、文字データまたはバイナリデータであってもよい.
‘string_replace 2’検索する文字列式、string_replace 2は、文字データまたはバイナリデータであってもよい.
‘string_replace 3’置換用の文字列式、string_replace 3は、文字データまたはバイナリデータであってもよい.
戻りタイプstring_replace(1、2または3)がサポートされている文字データ型の1つである場合、文字データが返されます.string_replace(1、2または3)は、サポートされているbinaryデータ型の1つであり、バイナリデータを返します.
ここでは、スペースを取ることを例に挙げます.
trim関数を用いた結果と比較して,replace関数を用いると文字列の両端のスペースだけでなく,文字列内部のスペースも除去できることが分かった.
もちろん、文字列の両端のスペースを除去するだけでtrim関数を使用すると効率が向上します.
まずこのTrim関数です.Trim関数には任意の指定文字を削除する機能があり、文字列の先頭と末尾のスペースを削除する機能はtrim関数が最も使用される頻度の高いものです.構文Trim(string)、パラメータstring:stringタイプ.先頭と末尾のスペースを削除する文字列戻り値Stringを指定します.関数の実行に成功するとstring文字列の先頭と末尾のスペースが削除された文字列が返され、エラーが発生した場合は空の文字列("")が返されます.パラメータ値がnullの場合、空のポインタ異常が放出されます.oracleではtrimが使用する形式はヒトrtrim()とltrim()の2種類が多く、それぞれ文字列の右のスペースを除去することと文字列の左のスペースを除去することである.
構文:trim([{{leading|trailing|both}[trim_character]|trim_character}from]trim_source
1)、いかなるパラメータも使用しない
SQL> select trim(' 11 ') aa from dual;
AA
11
これは最も一般的な使用方法で、デフォルトのパラメータが使用され、デフォルトではTRIMは文字列の前後に現れるスペースを同時に削除します.
2)、bothパラメータを使用して、効果は方法がいかなるパラメータを使用しないことに等しい
SQL> select trim(both from ’ 11 ') aa from dual;
AA
11
「BOTH」パラメータは、文字列の前後で指定された内容を同時に削除することを示します(デフォルトではスペースを削除します).
3)、leadingとtrailingパラメータの使用
SQL> select trim(leading from ' 11 ') aa from dual;
AA
11
SQL> select trim(trailing from ' 11 ') aa from dual;
AA
11
結果からスコアセパレータ'-'を選択すると、leadingパラメータを使用すると文字列の右端のスペースが除去され、trailingパラメータを使用すると文字列の左端のスペースが除去されることがわかります.Oracleが提供するrtrim()とltrim()のように.
4)、trim_を使うcharacterパラメータ
trim_characterパラメータは、「スペースの削除」のデフォルトの動作を変更します.文字列'xxxxWORLDxxxxx'の前後に表示される「x」を削除するには、「trim_character」パラメータが役立ちます.
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
WORLD
trim_characterは、「both」、「trailing」、「leading」の3つのパラメータを組み合わせて、以前のプレゼンテーションと同様に効果を発揮します.結果を見て、言うまでもない.
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
WORLD
SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
WORLD
SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
xxxxWORLD
SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
WORLDxxxx
ここで、「trim_character」パラメータには1文字のみが許可されており、複数文字はサポートされていません.trimはマルチ文字除去の要件を満たすことはできませんが、rtrimとltrimを使用して処理することができます.
1)rtrimの使用
SQL> select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
ORxxxxWORLDxxxx
2)ltrimの使用
SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
xxxxWORLDxxxxOR
3)RTRIMとLTRIM関数を併用して我々の目的を達成する
SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
AAAAA
xxxxWORLDxxxx
rtrimとltrim関数を使用する場合の注意事項:「OR」は、「OR」文字列全体を一致させるのではなく、任意の文字「O」または文字「R」が削除操作されていることがわかります.
trim関数の応用について紹介しますが、replace関数を紹介します.個人的にはreplace関数はスペースを取るときに使いやすいと思います.replace関数は、最初の文字列式に現れる2番目の与えられた文字列式を3番目の式で置き換えます.replace関数の構文説明を見てみましょう.replace(‘string_replace 1’,‘string_replace 2’,‘string_replace 3’)
‘string_replace 1'検索する文字列式、string_replace 1は、文字データまたはバイナリデータであってもよい.
‘string_replace 2’検索する文字列式、string_replace 2は、文字データまたはバイナリデータであってもよい.
‘string_replace 3’置換用の文字列式、string_replace 3は、文字データまたはバイナリデータであってもよい.
戻りタイプstring_replace(1、2または3)がサポートされている文字データ型の1つである場合、文字データが返されます.string_replace(1、2または3)は、サポートされているbinaryデータ型の1つであり、バイナリデータを返します.
ここでは、スペースを取ることを例に挙げます.
SQL> select replace(' aa kk ',' ','') abcd from dual;
ABCD
aakk
trim関数を用いた結果と比較して,replace関数を用いると文字列の両端のスペースだけでなく,文字列内部のスペースも除去できることが分かった.
もちろん、文字列の両端のスペースを除去するだけでtrim関数を使用すると効率が向上します.