Oracleでregexp_substrを使用して文字を切り取る方法は何ですか?

Oracleでは、REGEXP_SUBSTR関数を使用して文字列を切り取ることができます。REGEXP_SUBSTR関数は、正規表現を使用して文字列をマッチングし、条件に一致するサブストリングを返します。

REGEXP_SUBSTR関数を使用して文字列を切り取る基本的な構文は次の通りです:

テーブル名から条件にマッチする列名のパターンを抽出する。

その中では、

  1. column_nameは文字列を抽出したい列の名前です。
  2. patternは、条件に一致するサブ文字列をマッチングする正規表現パターンです。
  3. table_nameは、お探しのテーブル名です。
  4. conditionはデータをフィルタリングするための検索条件です。

以下はいくつかの例です:

  1. 文字列から数字を抽出します。:
    SELECT REGEXP_SUBSTR(‘abc123def456’、’[0-9]+’)
    FROM dual;
    出力結果は:123
  2. 文字列から文字を抽出します:
    SELECT REGEXP_SUBSTR(‘abc123def456’, ‘[a-zA-Z]+’)
    FROM dual;
    結果は:abc
  3. 特定の文字を文字列から抽出する:
    SELECT REGEXP_SUBSTR(‘abc123def456’, ‘123|def’) FROM dual;
    出力結果:123

注意してください、REGEXP_SUBSTR関数は条件に合致する最初のサブストリングのみを返します。複数のサブストリングを取得したい場合は、REGEXP_SUBSTR関数の4番目のパラメータを使用して、返されるサブストリングの位置を指定できます。

Oracleの公式ドキュメントを参照して、詳細情報をご覧ください:https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm

bannerAds