Oracle によるスペースの削除方法: 1. Trim 関数を使用して、文字列の先頭と末尾のスペースを削除します。 2. rtrim および ltrim を使用して、左右のスペースを削除します。 3. replace 関数を使用して、文字列内のすべてのスペースを削除します。
この記事の動作環境: Windows 7 システム、Dell G3 コンピューター、Oracle 11g バージョン。
Oracle でスペースを削除するにはどうすればよいですか?
Oracle で文字列からスペースを削除する方法:
最初は Trim 関数です。トリム関数は指定した文字を削除する機能があり、文字列の先頭と末尾のスペースを削除する機能が最もよく使われます。
構文Trim (文字列)
パラメータ文字列: 文字列タイプ。文字列の戻り値を指定します。先頭と末尾のスペースを削除する文字列。
関数が正常に実行された場合、文字列 string から先頭と末尾のスペースが削除された文字列が返されます。エラーが発生した場合は、空の文字列 ("") が返されます。
パラメータ値が null の場合、null ポインタ例外がスローされます。
Oracle では、trim の最も一般的に使用される形式は rtrim() と ltrim() で、文字列の右側のスペースと左側のスペースを削除します。
もちろん、trim の機能はそれだけではありません。詳細については後述しますが、ここでは文字列スペースの削除を例に説明します。
トリム関数の構文の説明を見てみましょう:
trim( [ { {leading|trailing|both} [trim_character]|trim_character} from] trim_source
1)、パラメーターは使用しません
SQL> select trim(' 11 ') aa from dual;
11
これは、最も一般的な方法 使用方法はデフォルトのパラメータを使用し、デフォルトでは TRIM は文字列の前後のスペースを同時に削除します。
2) 両方のパラメーターを使用すると、効果はパラメーターを使用しない方法 1 と同等です。
SQL> select trim(both from ' 11 ') aa from dual;
11
「BOTH」パラメーターは、指定されたコンテンツを削除する前に、指定されたコンテンツを削除することを意味します。と文字列の後に同時に入力します (スペースはデフォルトで削除されます)。
3)、先頭と末尾のパラメータを使用します。
SQL> select trim(leading from ' 11 ') aa from dual;
11
SQL> select trim(trailing from ' 11 ') aa from dual;
11
結果から区切り文字 '-' を取得すると、次のことがわかります。先頭のパラメータを使用すると文字列の右端のスペースを削除でき、末尾のパラメータを使用すると文字列の左端のスペースを削除できます。 Oracle が提供する rtrim() および ltrim() と同じです。
4)、trim_character パラメータを使用します。
trim_character パラメータは、「スペースを削除する」というデフォルトの動作を変更します。文字列「xxxxWORLDxxxx」の前後にある「x」を削除したい場合は、「trim_character」パラメータが便利です。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
trim_character は、3 つのパラメーター「both」、「trailing」、「leading」とともに使用されます。その効果は、前のデモと同様に次のとおりです。結果を見てみましょう。詳細には触れません。
SQL> select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
SQL> select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
WORLD
SQL> select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
#xxxxWORLD
SQL> select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
##WORLDxxxx ここでの「trim_character」パラメータでは 1 文字のみが許可され、複数の文字はサポートされないことに注意してください。 Trim は複数の文字を削除するという要件を満たすことはできませんが、rtrim と ltrim を使用して処理できます。 1) rtrim
SQL> select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
# を使用します2) ltrim
SQL> select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
xxxxWORLDxxxxOR
# を使用します。 #3) RTRIM 関数と LTRIM 関数を併用して目標を達成します
SQL> select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
xxxxxWORLDxxxx
##rtrim と Things を使用するltrim 関数を使用する場合の注意点: 「OR」は「OR」文字列全体と一致することを意味するわけではありませんが、見つかった文字「O」または「R」は削除されます。トリム関数の応用が紹介できましたので、次に置換関数を紹介します 個人的には置換関数の方が便利だと思いますスペースを削除するとき。 replace 関数は、最初の文字列式内の 2 番目に指定された文字列式の出現をすべて 3 番目の式に置き換えます。 replace 関数の構文の説明を見てみましょう。 replace('string_replace1','string_replace2','string_replace3') 'string_replace1' 検索対象の文字列式、string_replace1 は文字データまたはバイナリ データです。 'string_replace2' 検索する文字列式。string_replace2 は文字データまたはバイナリ データです。
'string_replace3' 置換用の文字列式。string_replace3 は文字データまたはバイナリ データです。返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
这里我们依然以去空格为例。
SQL> select replace(' aa kk ',' ','') abcd from dual;
aakk
与使用trim函数的结果进行对比,我们可以发现,使用replace函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格。
当然,如果只是要去除字符串两端的空格,使用trim函数效率会更高。
相关推荐:oracle数据库学习教程
以上がOracleでスペースを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。