トムに挨拶したのに、なぜトムの名前をもう一度尋ねるのですか?
とにかく..はい。 CHR(10)
で区切られた文字列に対して標準の文字列分割操作を使用できます。 -Oracleの改行文字。次に、CAST
を利用します およびCOLLECT
それを配列に変換する関数。ここでは、Oracleの組み込みコレクションsys.OdciVarchar2List
を使用しました。 。 PL / SQLブロックでは、文字列要素を保持できる適切なコレクション型に一括収集できます。
WITH t (s)
AS (
SELECT 'Hello Tom
Where are you
What''s your name'
FROM DUAL
)
SELECT CAST ( COLLECT ( REGEXP_SUBSTR(s, '[^' || CHR(10)|| ']+', 1, LEVEL) )
AS sys.OdciVarchar2List ) as collection
FROM t CONNECT BY LEVEL <= REGEXP_COUNT(s, '[^' || CHR(10)|| ']+')
結果 :
| COLLECTION |
|------------------------------------------|
| Hello Tom,Where are you,What's your name |