sql >> データベース >  >> RDS >> Oracle

oracleは、一致するすべてのオカレンスを列から取得します

    このクエリを試すことができます。

     with test as(
      select 'ABC12345, DE22222' as JOB_Description from DUAL union
      select 'Please help to repair ABC12345, DE22222' as JOB_Description from DUAL 
    )
    SELECT REGEXP_SUBSTR(JOB_Description, '(ABC|DE)([[:digit:]]){5}', 1, LEVEL) AS substr
    FROM test
    CONNECT BY LEVEL <= REGEXP_COUNT(JOB_Description, '(ABC|DE)([[:digit:]]){5}')
      AND PRIOR JOB_Description = JOB_Description
      AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
    

    結果:

    ABC12345
    DE22222
    ABC12345
    DE22222
    

    最後の2行の適切な説明は、ここ にあります。




    1. JDBC接続を確立できません

    2. PHP配列を使用してSQLクエリの結果をピボットテーブルに変換するにはどうすればよいですか?

    3. T-SQLを使用してSQLServerのCHECK制約の名前を変更します

    4. Oracleデータベース:JavaアプリケーションでのDBMS_ALERTの使用