[인터돌™] 공부 해보자!! 열심히~~~

반응형
SELECT  SUBSTR(MSG, 1, INSTR(MSG, '|', 1, 1) - 1) MSG_1,
        SUBSTR(MSG, INSTR(MSG, '|', 1, 1) + 1, INSTR(MSG, '|', 1, 2) - INSTR(MSG, '|', 1, 1) - 1) MSG_2,
        SUBSTR(MSG, INSTR(MSG, '|', 1, 2) + 1, INSTR(MSG, '|', 1, 3) - INSTR(MSG, '|', 1, 2) - 1) MSG_3,
        SUBSTR(MSG, INSTR(MSG, '|', 1, 3) + 1, INSTR(MSG, '|', 1, 4) - INSTR(MSG, '|', 1, 3) - 1) MSG_4,
        SUBSTR(MSG, INSTR(MSG, '|', 1, 4) + 1) MSG_5
FROM (SELECT '111|222|333|444|555' MSG FROM DUAL)

[출처] 오라클 문자열 자르기 SUBSTR, INSTR..|작성자 또식이

 

※ instr 함수정의 : 찾고자하는 문자열의 인덱스를 리턴한다.
- instr(검색대상문자열 , 찾고자하는문자열 , 검색대상문자열의찾기를시작할인덱스 [, 몇번째발견한것인지선언]   )
ex) INSTR(MSG, '|', 2, 3) 을 실행 하면
     3번째 파라미터의 의미는   MSG문자열의 2번째 인덱스 부터(예를들어 MSG문자열이 ='1234567'
    라고 가정하면 '234567' 을 대상) 검색 하라는 뜻이다.
   , 4번째 파라미터의 의미는  찾고자하는 문자열 '|' 이 검색대상중에 여러번 존재할때 선언한 번째의 인덱스를
    리턴하라는 의미이다.





이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band