2016-06-02 1 views
2

먼저 대문자를 모두 정렬 한 다음 소문자를 정렬하려면 어떻게해야합니까?Orace SQL - 먼저 대문자를 모두 사용하여 정렬합니다.

A 
B 
C 
D 
a 
b 
c 
d 

나는 인터넷을 검색을 시도하고 내가 정렬 된 찾을 수있는 모든 그게 내가 모든 대문자 값을 원하는

하지만 등

a 
A 
b 
B 
c 
C 

이 .. 먼저 소문자 사람을 분류 할 것 .

아이디어가 있으십니까? 감사

답변

0

case 표현식을 사용하여 대문자 또는 소문자를 기준으로 조건부로 열을 정렬합니다. 그런 다음 원본 열을 기준으로 주문하십시오.

select * from tablename 
order by case when upper(col) = col then 1 else 2 end, col 

참고 : 위의 순서는 문자열에 한 문자 만 있거나 전체 문자열이 대문자이거나 소문자 일 때 잘 작동합니다.

4

문자의 값을 BINARY (으)로 주문하십시오.

SELECT column 
FROM my_table 
ORDER BY NLSSORT(column, 'NLS_SORT = BINARY') 
+0

이것은 1 문자보다 긴 문자열에도 적용됩니다. – FuzzyTree

관련 문제