У меня есть следующая строка
"923449499950,49,3513,NewBasic5,Talkshawk,IDKR17,North-2,KARAK,"Village Warana Mir Hassan Khel ,Dist Karak Tehsil,459,N2-NKRK1201,.0000,.0000,.00,.00,.00,.00,0,.0000,.0000,.0000,.00,.00,.0000,.00,.00,Nokia,108,Basic-Voice Only,Proprietary OS,Nokia 108"
Я хочу извлечь строку между KARAK и, 459.
Я не могу взломать это, до сих пор я сделал следующее, используя "," в качестве разделителя
SELECT nth_string
FROM
(SELECT TRIM (REGEXP_SUBSTR (long_string, '[^,]+', 1, ROWNUM) ) nth_string ,
level AS lvl
FROM
(SELECT REPLACE('923449499950,49,3513,NewBasic5,Talkshawk,IDKR17,North-2,KARAK,"Village Warana Mir Hassan Khel ,Dist Karak Tehsil,459,N2-NKRK1201,.0000,.0000,.00,.00,.00,.00,0,.0000,.0000,.0000,.00,.00,.0000,.00,.00,Nokia,108,Basic-Voice Only,Proprietary OS,Nokia 108',
',,',', ,') long_string
FROM DUAL
)
CONNECT BY LEVEL <= REGEXP_COUNT ( long_string, '[^,]+')
)WHERE lvl = 9;
Следовательно, полученная строка будет "Деревня Варана Мир Хасан Хель, Дист Карак Техсил"».Код, который я использовал, дает "Village Warana Mir Hassan Khel".