정렬하는 쿼리 질문입니다.

cksql 2015.01.30 08:59 Views : 4150

table1에는 파일명과 그파일의 파일버전이 입력되어 있습니다.
   table1
name    version
a       5.1.235.0
a       5.1.235.1
b       5.3.254.1
b       5.3.254
c       5.2.1
d       4.235.1.1
이런식으로 되어있습니다.
지금 각 파일명마다 version을 최신순으로 정렬시켜야 하는데 데이터타입이 nchar여서 그대로 정렬시키면 
문자로 정렬을 시켜버립니다. 그래서 '.'을 기준으로 각각의 숫자를 비교하려고 합니다.
그래서 아래와 같은 방식으로 정렬을 시키려고 했는데
문제는 각 version들이 '.'의 개수도 다르고 '.'이 언제 또 생길지 모른다는 점과 마지막엔 '.'없어서
마지막 숫자를 어디까지 자를 것인지 기준이 없어져 버립니다.
또 '.'이 길어질수록 쿼리를 생각해내기가 너무 복잡해져버립니다.
혹시 정렬 시킬 수 있는 다른 방법이나 있을까요...? 다른 방법이 없어서 아래 쿼리와 같이
쓸수밖에 없다면.. '.'개수가 다른건 어떻게 해결하고 마지막 숫자는 어떻게 잘라내서 비교를 해야 할까요...
select name
     , version, 
     --첫문자부터 처음나오는 '.'전까지
     , cast(SUBSTRINGversion, 1, CHARINDEX('.', version)-1) as int) as 첫번째
     --처음 나오는 '.' 다음 숫자부터 두번째 나오는 '.' 전 숫자까지 자르기
     , cast(substring(version, CHARINDEX('.', version)+1, (charindex('.', version, charindex('.', version)+1)) - (CHARINDEX('.', version)+1)) as int) as 두번째
from table1
order by 첫번째 desc, 두번째 desc

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 23410
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12412
8520 Telnet 연결은 되는데 UDL 파일 만들어서 하려고 하면 연결이 안되는 이유 망토가좋아 2015.02.03 3066
8519 누적합계 쿼리 질문입니다. [6] 깨비꼬비 2015.02.03 11222
8518 SQL프로파일러 질문 드립니다. [1] akfflr 2015.02.03 2727
8517 CURSOR 문에서 USE DATABASE 가 잘 안먹어요. ㅠ [4] 더따뜻한 2015.02.03 2687
8516 trigger를 이용하여 프로시저의 로그 이벤트 남기는 중에... [1] 더따뜻한 2015.02.02 2658
8515 GRANT VIEW SERVER STATE TO [사용자명] 관련 [1] 더따뜻한 2015.02.02 3069
8514 쿼리나 프로시저로 테이블의 어느 데이터를 지운 것에 대한 이력 [2] 상남자 2015.02.02 2287
8513 사용자 삭제가 안되서요.ㅠ [1] 더따뜻한 2015.02.02 5057
8512 두개의 테이블에서 날짜별로 금액 합을 계산하는 쿼리 [1] embster 2015.01.31 3740
8511 ApexSQL Refactor 사용시 정렬 오류 [2] 흑흑 2015.01.30 2933
» 정렬하는 쿼리 질문입니다. [11] cksql 2015.01.30 4150
8509 클러스터 인덱스를 datetime 컬럼에 괜찮을까요? [2] jwgye 2015.01.29 3093
8508 ADO, BDE, ODBC 연결 속도 문제... 랜덤의세계 2015.01.29 5119
8507 같은 서버에서 서로 다른 DB 트리거 관련문의ㅜㅜ 홍야홍야 2015.01.29 3403
8506 실제테이블 용량과 MDF 파일 용량 차이 질문드립니다. [2] 빠그도리 2015.01.29 4449
8505 primary key 선정에 있어서 궁금증이 생겨 질문 드립니다. [1] jwgye 2015.01.29 4640
8504 디자이너와 쿼리를 사용한 테이블 변경 차이점 [2] 수야짱 2015.01.28 2789
8503 adhoc 관련 질문입니다. [1] 카루카루 2015.01.28 2257
8502 문자열 검색시 [] 기호는 어떻게 검색해야할까요? [1] 절간신부™ 2015.01.28 2400
8501 mssql2005 32비트 -> 64비트 [2] wassup 2015.01.28 3792





XE Login