Mengapa Anda menanyakan nama Tom lagi padahal Anda sudah menyapanya?
Bagaimanapun.. Ya. Anda dapat menggunakan operasi pemisahan string standar pada string yang dibatasi oleh CHR(10)
- karakter baris baru di Oracle. Kemudian gunakan CAST
dan COLLECT
berfungsi untuk mengubahnya menjadi array. Di sini saya telah menggunakan koleksi bawaan Oracle sys.OdciVarchar2List
. Di blok PL/SQL Anda, Anda dapat MENGUMPULKAN BULK ke dalam jenis koleksi yang tepat yang dapat menampung elemen string.
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)|| ']+')
Hasil :
| COLLECTION |
|------------------------------------------|
| Hello Tom,Where are you,What's your name |