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값을 더해서 넣는 식을 작성하려하는데
저걸 정규식으로 뽑아내는 방법을 모르겠네요..
숫자의 자리수도 데이터마다 다른게 있고 그럽니다..
조언좀 부탁드리겠습니다..ㅠㅠ
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