로 나오게 하려면 어떻게 해야할까요 INSTR, SUBSTR, LENGTH 사용해서 짱구 굴려보는데 답이안나오네요 에휴..
도움부탁드립니다.(__)꾸벅
by 신이만든짝퉁
[2013.09.17 11:23:15]
WITH T1 AS ( SELECT 'ABCD.JSP' str FROM dual UNION ALL SELECT '<DIV>ABCDE.JSP</DIV>' str FROM dual ) SELECT regexp_substr(str, '[a-zA-Z]+\.[a-zA-Z]+') str FROM t1 ;
이렇게 해보세요~
by 신이만든짝퉁
[2013.09.17 11:50:30]
WITH T1 AS ( SELECT 'ABCD.JSP' str FROM dual UNION ALL SELECT '<DIV>ABCDE.JSP</DIV>' str FROM dual ) SELECT substr(regexp_substr(str, '([a-zA-Z]+)\.', 1),1, 4) str FROM t1 ;
WITH T1 AS ( SELECT 'ABCD.JSP' filename FROM DUAL UNION ALL SELECT '<DIV>ABCDE.JSP</DIV>' FROM DUAL ) select SUBSTR(filename, REGEXP_INSTR(filename, '[a-zA-Z]+\.[a-zA-Z]') ,REGEXP_INSTR(filename, '\.') - REGEXP_INSTR(filename, '[a-zA-Z]+\.[a-zA-Z]')) as filename FROM t1;
여기에서 파일명 제약조건에 따라 정규표현식에 추가하시면 될것 같습니다.
by 클라나드
[2013.09.17 11:37:46]
제가 초보라 그러는데 regexp_substr 열명이 부적합합니다. 라는 오류 납니다. 왜이러는지..
by 마농
[2013.09.17 11:41:46]
위 두개의 데이터가 전체 모든 케이스를 대표하는 데이터인가요? 다른 유형의 데이터도 존재하는지 궁금하네요. 확장자는 .JSP 만 있는지 다른 것도 있는지? 확장자가 없는것은 없는지? <DIV> 테그 외에 다른것은 없는지? 등등... 이런 류의 문제는 가능한 모든 케이스를 검토해야 합니다.
by 클라나드
[2013.09.17 11:51:46]
정확한데이터는 저도 잘모르겠네요 ㅠㅠ 아유 저도 답답하네요..
by 클라나드
[2013.09.17 11:51:00]
WITH T1 AS
(
SELECT 'ABCDE.JSP' AA FROM dual
UNION ALL SELECT '<DIV>ABCDE.JSP</DIV>' AA FROM dual
)
SELECT
SUBSTR(SUBSTR(AA, 0, INSTR(AA, '.')-1),INSTR(TO_CHAR(AA), '>', 1)+1) AS BB
FROM t1;
이렇게 해결하였습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.