아래와 같은 컬럼 값이 있을때, 특수기호 '!@!' 를 기준으로
4번째 '!@!'와 5번째 '!@!' 사이의 값만 취하고 싶으면...
어떻게 하면 되는지 문의드려요.
001!@!OFF_LINE설정!@!10157150!@!-!@!핸드폰!@!NPW_SCRAP
!@!OFF_LINE 진행!@!99051680!@!,!@!탭!@!NPW_SCRAP
--> 얘가 핸드폰, 탭 만 나오게 하려면 어떻게해야하나요ㅠㅠㅠ
regexp_substr replace 함수를 같이 사용하시면 될 것 같습니다.
WITH t AS ( SELECT '001!@!OFF_LINE설정!@!10157150!@!-!@!핸드폰!@!NPW_SCRAP' v FROM dual UNION ALL SELECT '!@!OFF_LINE진행!@!99051680!@!,!@!탭!@!NPW_SCRAP' FROM dual ) SELECT v , SUBSTR( v , INSTR(v, '!@!', 1, 4) + 3 , INSTR(v, '!@!', 1, 5) - INSTR(v, '!@!', 1, 4) - 3 ) x FROM t ;