ホームページ  >  記事  >  データベース  >  Oracle は文字列を削除します

Oracle は文字列を削除します

WBOY
WBOYオリジナル
2023-05-11 10:24:072555ブラウズ

Oracle データベースでは、文字列内の特定の文字を削除したり、文字列の前後のスペースを削除したりするなど、文字列の特定の部分を削除する必要がある場合があります。この記事ではOracleで文字列を削除する方法を紹介します。

  1. 文字列から指定した文字を削除する

Oracle では、REPLACE 関数を使用して文字列から指定した文字を削除できます。 REPLACE 関数を使用すると、文字列内のすべての特定の文字を別の文字列に置き換えることができます。

構文は次のとおりです。

REPLACE(string, old_string, new_string)

このうち、string は置換される文字列、old_string は置換される文字、new_string は置換される文字です。

たとえば、文字列「abcde」から文字「c」を削除するには、次のステートメントを使用できます。

SELECT REPLACE('abcde', 'c', '') FROM dual;

上記のステートメントの出力結果は「abde」です。

  1. 文字列の前後のスペースを削除する

Oracle では、TRIM 関数を使用して文字列の前後のスペースを削除できます。 TRIM 関数を使用すると、指定した文字列からスペースを削除したり、文字列の両側からスペースを削除したりできます。

構文は次のとおりです。

TRIM([LEADING | TRAILING | BOTH] [trim_string] FROM string)

このうち、LEADING は左側のスペースを削除することを意味し、TRAILING は右側のスペースを削除することを意味し、BOTH は両側のスペースを同時に削除することを意味します。トリム文字列には削除する文字列を指定できますが、指定しない場合はデフォルトでスペースが削除されます。

たとえば、文字列「abcde」の前後のスペースを削除するには、次のステートメントを使用できます。

SELECT TRIM('   abcde  ') FROM dual;

上記のステートメントの出力結果は「abcde」です。

  1. 文字列から文字と数字を削除する

Oracle では、REGEXP_REPLACE 関数を使用して文字列から文字と数字を削除できます。この関数を使用すると、ユーザーは正規表現を使用して文字列内の文字を置換できます。

構文は次のとおりです。

REGEXP_REPLACE(string, pattern, '')

このうち、string は置換される文字列、pattern は照合される正規表現、3 番目のパラメータは置換される文字です。ヌル文字列。

たとえば、文字列「a1b2c3d4e5」内のすべての文字と数字を削除するには、次のステートメントを使用できます。

SELECT REGEXP_REPLACE('a1b2c3d4e5', '[[:alpha:][:digit:]]', '') FROM dual;

上記のステートメントの出力結果は「"」です。

  1. 文字列からの中国語の削除

Oracle では、NLSSORT 関数と REGEXP_REPLACE 関数を使用して、文字列から中国語の文字を削除できます。

構文は次のとおりです:

たとえば、文字列「abc Chinese def」内の中国語の文字を削除するには、次のステートメントを使用できます:

上記のステートメントの出力結果は「abcdef」です。

  1. 文字列から HTML タグを削除する

Oracle では、DBMS_XMLGEN 関数と REGEXP_REPLACE 関数を使用して、文字列から HTML タグを削除できます。

構文は次のとおりです。

REGEXP_REPLACE(DBMS_XMLGEN.getXMLType(string).getStringVal(), '<[^>]+>', '')

このうち、string は置換対象の文字列で、 DBMS_XMLGEN.getXMLType(string).getStringVal() は文字列を XMLType 型に変換します。 69844bcb8b5a415589022a080f73fbc2 は、すべての HTML タグに一致する正規表現です。

たとえば、次の HTML 文字列内のすべてのタグを削除するには:

<body>
  <div class="container">
    <h1>Hello world!</h1>
    <p>This is a paragraph.</p>
  </div>
</body>

次のステートメントを使用できます:

SELECT REGEXP_REPLACE(DBMS_XMLGEN.getXMLType('<body><div class="container"><h1>Hello world!</h1><p>This is a paragraph.</p></div></body>').getStringVal(), '<[^>]+>', '') FROM dual;

上記のステートメントの出力結果は、「Hello」です。世界よ!これは段落です。」

概要

この記事では、Oracle で文字列を削除する方法を紹介します。指定した文字の削除、スペースの削除、文字と数字の削除、漢字の削除、HTML タグの削除など、Oracle は対応する関数と正規表現を提供します。読者の皆様は、実際の応用場面に応じて選択して応用していただければと思います。


  1. >

以上がOracle は文字列を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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