ホームページ  >  記事  >  データベース  >  Oracleでスペースを削除する方法

Oracleでスペースを削除する方法

藏色散人
藏色散人オリジナル
2021-12-15 11:25:0946626ブラウズ

Oracle によるスペースの削除方法: 1. Trim 関数を使用して、文字列の先頭と末尾のスペースを削除します。 2. rtrim および ltrim を使用して、左右のスペースを削除します。 3. replace 関数を使用して、文字列内のすべてのスペースを削除します。

Oracleでスペースを削除する方法

この記事の動作環境: 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;


ORxxxxWORLDxxxx


# を使用します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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。