https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement पर आधारित :
सबसे पहले, हम एक क्वेरी बनाएंगे, जो इस अल्पविराम से अलग की गई स्ट्रिंग को विभाजित करती है और अलग-अलग स्ट्रिंग्स को पंक्तियों के रूप में देती है।
SQL> select regexp_substr('20.4,12.5,3.5,0.2,0.2','[^,]+', 1, level) from dual
connect by regexp_substr('20.4,12.5,3.5,0.2,0.2', '[^,]+', 1, level) is not null;
REGEXP_SUBSTR('20.4,1
---------------------
20.4
12.5
3.5
0.2
0.2
उपरोक्त क्वेरी अल्पविराम से अलग की गई स्ट्रिंग के माध्यम से पुनरावृत्त होती है, अल्पविराम (,) की खोज करती है और फिर अल्पविराम को सीमांकक मानकर स्ट्रिंग को विभाजित करती है। यह स्ट्रिंग को एक पंक्ति के रूप में लौटाता है, जब भी यह एक सीमांकक से टकराता है।