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
운영게시판
최근게시물
MS-SQL Q&A 4493 게시물 읽기
No. 4493
order by와 union에 대해 질문드립니다
작성자
장용석(cyssori)
작성일
2008-10-21 16:41
조회수
5,530

제가 쿼리를 하나 만들고 있는데

order by seq asc 시


seq

------

1

10

2

3

4

준1


위와같은 형태로 나옵니다.

제가 원하는 형태는


1

2

3

4

10

준1


이런형태인데요..어떻게 해야하나요?

seq는 String형이며 int형으로 컨버트하여 정렬하려고 했더니 '준1'의 한글때문에 오류가 나네요..

또 int형과 '준1'이 들어간 쿼리를 나눠서 union 하려고 했더니 위쪽쿼리에는 order by절을 넣을수가

없었습니다.


고수님들의 도움좀 부탁드립니다

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

다른 데이터베이스 인데... ms-sql server에 isnumeric function이 있는지 모르겠네요..
isnumeric은 숫자면 1을 아니면 0을 return 합니다.
이게 된다면 
select * into #aaa from t where isnumeric (c1) = 1 order by convert (int, c1)
insert #aaa  select * from t where isnumeric (c1) != 1 order by  c1
select * from #aaa 하면 되겠지요...

후후님이 2008-10-23 13:36에 작성한 댓글입니다. Edit

select * from 
( select '1' seq union all select '10' union all select '준1' union all select '4' union all select '3')a
order by case when isnumeric(seq)=1 then str(seq, 20) else seq end


order by 절의 str함수 두번째 인자 20 은 대충 max(len(seq)) 값을 넘을 정도면 될것 같네요.
민종필(moranjp)님이 2008-10-29 16:44에 작성한 댓글입니다.
이 댓글은 2008-10-29 16:45에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
4497injection 공격 대응 [1]
지우개
2008-10-24
5331
4496왜 필드가 없다고 에라입니다. 좀봐주세요....
이동안
2008-10-23
5337
4495개체가 없습니다 오류 좀 봐주세요
박경호
2008-10-22
5289
4493order by와 union에 대해 질문드립니다 [2]
장용석
2008-10-21
5530
4492현재 MSSQL 2005로 복원중입니다. 복원시간에 관하여 궁금합니다.
온인선
2008-10-21
7267
4490mssql트랙잭션 로그 보기
김성환
2008-10-20
5243
4489DB 백업 복원 [1]
윤민하
2008-10-18
5331
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다