왼쪽에 있는 정렬을 오른쪽 정렬로 하고 싶습니다.
[-] 를 중심으로 잘라서 정렬 하고 싶어요..
ㅠ,.ㅠ;;
잘라내는거야 substr 함수로 잘라내면 되는데...
여기서 문제점은 저 Depth가 얼마까지 갈지 알 수가 없다는겁니다. 무한대까지? (아마 VARCHAR2(4000)이 MAX이니 4000 Byte 최대겠지만...
SUBSTR 함수로 잘라내려면 일단 MAX가 정해져 있어야 할 것 같구요.
가능하더라도 성능 상당히 안 좋을 듯 합니다. (재귀적으로 계속 함수 써서 호출하니 무거울 밖에요)
차라리 데이터를 INSERT 하실 때 자릿수를 정하셔서 입력하심이...
그러면 그냥 order by 하셔도 원하시는대로 정렬이 됩니다.
SR1-1-1-3 ===> SR001-001-001-003 (예를 들어 단계 마다 3자리씩 끊어서 입력)
SR1-1-1-111 ===> SR001-001-001-111
id 는 SR 로 시작하며 숫자는 최대 5자리 라는 가정하에 다음과 같이.
ORDER BY REGEXP_REPLACE( REGEXP_REPLACE(id , '(SR|-)([0-9]+)', '\10000\2') , '([0-9]{5}(-|$))|0', '\1')