[mssql]정렬 관련 질문하나 올릴게요 ㅠㅠ 0 4 144

by 준일정 mssql [2019.03.15 09:15:58]



WITH t AS
(

select '1.5' id 
union all select '1'
union all select '1'
union all select ''

)


SELECT id
FROM t
order by   cast(id AS FLOAT)

 

정렬 결과가

--------------------- 

''(빈문자열)
1
1
1.5

--------------------

이렇게 정렬이 되는데 

 

 

 

--------------------

1

1

1.5

''(빈문자열) 

--------------------

이렇게 정렬되게 할 수는 없나요?

 

 

by 두아이아빠 [2019.03.15 09:20:53]

https://ggmouse.tistory.com/139

조건 정렬이라는게 있습니다. 


by 두아이아빠 [2019.03.15 09:23:07]

WITH t AS
(
 
select '1.5' id 
union all select '1'
union all select '1'
union all select ''
 
)
 
 
SELECT id
FROM t
order by 
CASE WHEN id = '' THEN id END ASC
, CASE WHEN id <>'' THEN id END ASC


by 마농 [2019.03.15 09:42:59]
ORDER BY CASE WHEN id IS NULL OR id = '' THEN 99 ELSE CAST(id AS FLOAT) END

 


by 준일정 [2019.03.15 11:08:46]

와.... 어떻게 이런 생각을 하실 수가 있으실지.... 되네요 고맙습니다 마농님!!

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입