안녕하세요.
오라클에서 알티베이스로 옮기기 위해 몇 가지 쿼리 테스트를 하고 있습니다.
알티베이스의 정렬에 대한 문의를 드립니다.
예제 데이터)
1
1.1
1.2
1.3
:
1.10
1.11
위와 같은 데이터(개요번호)가 있을 경우 Sort를 하면
이렇게 정렬되는데 처음 예제 데이터처럼 정렬되도록 하는 방법이 있을까요?
감사합니다.
Altibase 라는 db를 사용해본적은 없지만
DBMS 마다 문자(CHAR) 의 정렬기준이 다 다르다보니..
중간 구분자가 '.' 으로 되어있다면
1. '.' -> '' 으로 변경 후
2. 1의 값을 숫자형으로 형변환
3. 2의 값을 Order By 로
하면 문제 없을듯합니다.
구글에서 검색해서 내장함수로 Order By 절만 작성해봤구요.
테스트를 안해봐서 작동유무는 모르겠으나..로직은
저렇게 처리하면 원하는 형태대로 정렬이 될거라는 생각이 드네요.
그럼 주말 잘 보내세요~
Order By to_number(Replace2(개요번호,'.','')) Asc
다음과 같이 하면 가능하지 않을까요..
column type 이 char 라면
iSQL> select c1 from t2 order by length(cast( c1 as float(10))),c1;
C1
--------------
1.19
type 이 float 라면
iSQL> select c1 from t3 order by length(c1),c1;