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

PL/SQLでの表変換/フィールド解析

    もう1つの方法は、モデル句を使用することです。

    SQL> select id
      2       , value
      3    from codes
      4   model
      5         return updated rows
      6         partition by (id)
      7         dimension by (-1 i)
      8         measures (value)
      9         ( value[for i from 0 to length(value[-1])-length(replace(value[-1],',')) increment 1]
     10           = regexp_substr(value[-1],'[^,]+',1,cv(i)+1)
     11         )
     12   order by id
     13       , i
     14  /
    
            ID VALUE
    ---------- -------------------
            10 A
            10 B
            10 C
            11 A
            11 B
            12 A
            12 B
            12 C
            12 D
            12 E
            12 F
            13 R
            13 T
            13 D
            13 W
            13 W
            13 W
            13 W
            13 W
            13 S
            13 S
    
    21 rows selected.
    

    このブログ投稿では、このタイプのクエリの代替案を最大6つ書いています: http://rwijk.blogspot.com/2007/11/interval-based-row-generation.html

    よろしく、ロブ。



    1. 日付と時刻の列を持つmysqlテーブルを作成するにはどうすればよいですか?

    2. PL / SQLで文字列を分割する機能はありますか?

    3. MySQLデータベース間で関数をコピーする方法はありますか?

    4. DBCC CHECKDBの影響を最小限に抑える:すべきこととすべきでないこと