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

oracle-oracleテーブルの複数のコンマ区切り値を複数の行に分割します

    ついに私はこの答えを思いついた

    WITH CTE AS (SELECT 'a,b,c,d,e' temp, 1 slno FROM DUAL
                  UNION
                  SELECT 'f,g' temp, 2 slno FROM DUAL
                  UNION
                  SELECT 'h' temp, 3 slno FROM DUAL)
    SELECT TRIM(REGEXP_SUBSTR(temp, '[^,]+', 1, level)), slno
    FROM CTE
    CONNECT BY level <= REGEXP_COUNT(temp, '[^,]+')
        AND PRIOR slno = slno
        AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
    


    1. MySQLで連結文字列にセパレータを追加する方法– CONCAT_WS()

    2. ClusterControl1.8.2を使用したPostgreSQLv13のデプロイとスケーリング

    3. リストPostgresENUMタイプ

    4. SQLServerのカーソルタイプ-KEYSETカーソル| SQLServerチュートリアル/TSQLチュートリアル