फोनेटिक_मैन के उत्तर में बदलाव जो सूची में NULL तत्वों की अनुमति देगा। '[^,]+'
. का रेगेक्स प्रारूप सीमांकित सूचियों को पार्स करने के लिए NULL सूची तत्वों को संभाल नहीं पाता है और यदि कोई मौजूद है तो गलत मान लौटाएगा और इस प्रकार इसके उपयोग से बचा जाना चाहिए। उदाहरण के लिए नंबर 2 को हटाकर मूल को बदलें और परिणाम देखें। आपको दूसरे तत्व की स्थिति में '3' मिलेगा! यहाँ एक तरीका है जो NULL को संभालता है और तत्व के लिए सही मान देता है:
SELECT TRIM(REGEXP_SUBSTR(str, '(.*?)(,|$)', 1, LEVEL, NULL, 1)) str
FROM ( SELECT '1,,3,4' str FROM dual )
connect by level <= regexp_count(str, ',') + 1;
अधिक जानकारी और प्रमाण के लिए यहां देखें:https://stackoverflow.com/a/31464699/2543416 ए>