:::: 개발 ::::/::: Oracle :::

No rows return NVL 처리

nayha 2016. 4. 11. 11:13



작업중 null 도 아니고 

아예 데이타가 없는것에 (퇴사자) 퇴사자 표시를 해달라는 요청이 왔다


nvl 로 되것지 했는데 아예 데이타 없으면 nvl 도  nvl2 도 안먹었다. 


당황 !!!


급 검색해보니 group 으로 쿼리를 때리면 무조건 하나는 리턴해주니 처리가 가능하다는 


SELECT NVL(max(USER_ID), '00') FROM INFOMATION
WHERE USER_ID = 'SUPER'



No rows return 이라는 데이타는 말 그대로 아무것도 없는겁니다.
거기다가 nvl 써도 의미가 없죠..nvl 은 데이타가 있을때 즉, null 데이타라는게 
있는거죠.
님이 제시한것은 결국 group 함수를 쓰라는 얘기입니다. 저게 max만 의미 있는게
아니라 min 도 의미가 있고, group 함수면 무조건 됩니다.

즉, group 함수를 쓰면 ro rows return 은 안된다라는 거죠..
그럼 null 이 나오겠죠? 거기다가 nvl 쓰는 겁니다.


출처 http://okky.kr/article/75983

반응형