-- INSTR(A,B,C,D) : A(str)에서 B(str)를 (A의) 인덱스 C(int)부터 D(int)번째 나올때 까지 찾는다
예시)
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) MSG5
,INSTR(MSG,'|',1,4)
FROM
(SELECT '111|222|333|444|555' MSG FROM DUAL);
-- 자주 쓰이지는 않지만 가끔 필요한 쿼리이며 분석등을 위해서 알아두면 편리한 Function 이라고 생각됨
'04번. IT 힌트얻기 > ▶ DB/ SQL ' 카테고리의 다른 글
[SQL고수되기] 두번째 이야기 (0) | 2011.09.29 |
---|---|
[SQL고수되기] 첫번째 이야기 (0) | 2011.09.29 |
대용량 데이터베이스를 위한 어드바이스 (0) | 2011.09.29 |
HASH JOIN (0) | 2011.09.27 |
SORT MERGE JOIN (0) | 2011.09.27 |