Oracle에서는 정렬시 null값을 제일 마지막에 위치시킨다.(ms-sql은 반대) 
null 값을 제일 큰 값으로 인식한다는 말이다.

즉, 아래와 같다.


select *
from
(
 select 'aaa' col_1 from dual
 union all
 select 'bbb' from dual
 union all
 select null from dual
)
order by col_1;




​-----------------------------------------------------------------


하지만 order by에 옵션을 주어 이러한 null값에 순위를 바꿔줄 수가 있다. 


select *
from
(
 select 'aaa' col_1 from dual
 union all
 select 'bbb' from dual
 union all
 select null from dual
)
order by col_1 nulls first;


위와 같이 설정하게 되면 null 값이 제일 위에 위치하게 된다.
주의할 점은 해당 옵션은 null이 아닌 나머지 데이터 정렬에는 어떠한 영향도 주지 않는다.
단지 null값의 순위를 '처음' 또는 '끝'으로 바꿔준다. 

'밥벌이 > Database' 카테고리의 다른 글

Redo와 Undo  (0) 2015.09.23
[Oracle] 제약조건 활성화/비활성화  (0) 2015.09.18
[Oracle] 외래키 옵션  (0) 2015.09.18
[Oracle] MERGE 구문  (0) 2015.09.18
[Oracle] 계층쿼리  (0) 2015.09.18
Posted by mypiece
,