जब आप टॉम को पहले ही नमस्ते कह चुके हैं तो आप फिर से टॉम का नाम क्यों पूछते हैं?
वैसे भी.. हाँ। आप CHR(10)
. द्वारा सीमांकित स्ट्रिंग पर मानक स्ट्रिंग स्प्लिट ऑपरेशन का उपयोग कर सकते हैं - Oracle में न्यूलाइन कैरेक्टर। फिर CAST
. का उपयोग करें और COLLECT
इसे एक सरणी में बदलने के लिए कार्य करता है। यहाँ मैंने Oracle के बिल्ट-इन संग्रह sys.OdciVarchar2List
. का उपयोग किया है . अपने पीएल/एसक्यूएल ब्लॉक में आप इसे किसी भी उचित संग्रह प्रकार में एकत्रित कर सकते हैं जिसमें स्ट्रिंग तत्व हो सकते हैं।
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 |