정규식 패턴관련 질문입니다. 0 2 3,273

by 지에나르 REGEXP_SUBSTR 정규식 정규식패턴 [2012.07.06 17:06:09]


1012417.78500000 2004330.15050000, 1012421.61640000 2004325.13210000, 1012434.21990000 2004334.25960000, 1012429.86110000 2004339.73160000, 1012417.78500000 2004330.15050000
이런형식의 데이터에서 ,(콤마)는 첫번째값 두번째값 을 구분하구요
공백은 X Y 좌표를 구분합니다.
첫번째공백 전까지의 숫자가 X값이고
첫번째 공백부터 ,(콤마) 전까지가 Y 값입니다.
그다음 콤마 다음 공백 다음 부터의 숫자가 두번째 X값
두번째 X값 다음 공백다음 숫자부터 콤마 전까지가 두번째 Y값입니다.

이렇게 X Y값들을 뽑아내어 각각
vtemp_x
vtemp_y 
변수에 뽑아낸 X 값들을 더해서 넣고 Y값을 더해서 넣는 식을 작성하려하는데
저걸 정규식으로 뽑아내는 방법을 모르겠네요..
숫자의 자리수도 데이터마다 다른게 있고 그럽니다..
조언좀 부탁드리겠습니다..ㅠㅠ

by 손님 [2012.07.06 18:20:45]
 
WITH T AS
(
SELECT '1012417.78500000 2004330.15050000, 1012421.61640000 2004325.13210000, 1012434.21990000 2004334.25960000, 1012429.86110000 2004339.73160000, 1012417.78500000 2004330.15050000' STR
FROM DUAL
)
SELECT REGEXP_SUBSTR(TRIM(REGEXP_SUBSTR(STR,'[^,]+',1,LEVEL)),'[^ ]+',1,1) X
   ,REGEXP_SUBSTR(TRIM(REGEXP_SUBSTR(STR,'[^,]+',1,LEVEL)),'[^ ]+',1,2) Y 
FROM T
CONNECT BY LEVEL <= LENGTH(STR) - LENGTH(REPLACE(STR,',')) + 1
 

by 지에나르 [2012.07.09 10:28:03]

오.. 잘되네요.. 너무 감사드립니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입