ORACLE 은 order by 수행시 null 값을 가장 큰 값으로 처리하여 결과의 가장 끝에 보여준다.
그러나, CUBRID 는 order by 수행시 null 값을 가장 작은 값으로 처리하여 결과의 처음에 보여주므로, ORACLE 질의 전환시 주의할 필요가 있다.
또한 ORACLE 에서는 order by 시 null 의 위치를 지정하기 위해 nulls [first/last] 라는 옵션을 지원하고 있으며, CUBRID 에는 아직 지원하지는 않고 있다.
CUBRID 의 경우 null 을 가장 작은 값으로 처리하므로, ORACLE 에서 order by ... nulls first 와 동일하게 동작하나, nulls last 의 경우는 질의를 조금 수정해 주어야 한다.
order by 시 null 의 위치와 관련하여, ORACLE 과 CUBRID 의 사용법과 결과에 대하여 아래 표로 정리하였으니 참고하기 바란다.
|
ORACLE |
CUBRID | |
사용법 |
First |
Select col1 from tbl order by col1 nulls first |
Select col1 from tbl order by col1 |
Last |
Select col1 from tbl order by col1 nulls last |
Select col1 from tbl order by isnull(col1), col1 | |
결과 |
First |
|
|
Last |
|
|