database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7029 게시물 읽기
No. 7029
버전 sort가 .... 어떻게하죠.
작성자
권순용(jtylor)
작성일
2007-01-31 10:46
조회수
3,869

select code from test order by code;
이렇게 하니

10.0.0
2.0.10
2.0.10.1
2.0.8
2.0.9
2.0.9.12
2.0.9.2

이렇게 나오네요..
어떻게 sort해야 제대로 나올지 답변부탁드립니다.
자료형은 varchar입니다.

이 글에 대한 댓글이 총 5건 있습니다.

방법을... 모르겠는데요. ㅎㅎ

복잡하게 스트링 함수 쓰고 해서 어찌하면 될 수도 있겠지만 차라리 저장되는 포멧을 바꾸거나 소트용 컬럼을 하나 더 만드는게 어떨까요?


10.00.00

02.00.10

02.00.10.01

02.00.08

02.00.09


이런식으로 저장되게 말이죠. 물론 표시할 때는 좀 가공해서 앞에 0은 지워버려야겠죠.


저라면 그렇게 할 것 같습니다. ^^

박성철(gyumee)님이 2007-01-31 10:57에 작성한 댓글입니다.
이 댓글은 2007-01-31 10:58에 마지막으로 수정되었습니다.

괘안은 방법이네요^^
입력 출력시 수정해야되는 번거로움이 있지만..
쫌만 기다려보다 더좋은 방법이 없으면. 성철님 방법으로.

권순용(jtylor)님이 2007-01-31 11:05에 작성한 댓글입니다.

사실 포멧을 바꾼다면 굳이 '.'까지도 필요 없겠죠.


100000

020010

02001001

020008

020009


이렇게..ㅎㅎ


 

더 나가서 16진수로 할 수도 있네요. 이렇게 하면 0~255까지 표현이 가능하니까요.

 

0a0000

02000a

02000a01

020008

020009

좋은 결과 있기 바랍니다. ^^

박성철(gyumee)님이 2007-01-31 14:29에 작성한 댓글입니다.
이 댓글은 2007-01-31 14:29에 마지막으로 수정되었습니다.

이렇게 하면 되지 않을까요?


select code from table order by string_to_array(code, '.')::int[];



물론 버젼이 모두 숫자로 이루어져 있어야 하겠죠? 

안그럼 형변환에서 애러 나겠죵..

tyro님이 2007-01-31 19:43에 작성한 댓글입니다. Edit

왕~ tyro님 멋져요. +_+)b

박성철(gyumee)님이 2007-02-01 08:51에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7032win2k3 에 pgsql 8.2.2 설치 방법[업뎃]
송효진
2007-02-02
3884
7031[쿼리질문](1필드)최소값 중에서 (2필드)최대값을 가진 모든필드 가져오기 [5]
2007-02-01
4172
7030win2k3 에 설치 포기... [3]
송효진
2007-02-01
4553
7029버전 sort가 .... 어떻게하죠. [5]
권순용
2007-01-31
3869
7028올바른 sql문의 실패가 나는 경우가 있나요? [2]
권영진
2007-01-30
4369
7027array_prepend 사용. [2]
백수환
2007-01-30
3892
7026pgsql/data 가 data_old로 바뀐현상 [1]
초보
2007-01-29
4055
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다