[질문] MAX()함수 결과값에 대해 0 5 1,505

by 박건우 [2005.09.27 13:18:42]


안녕하세요~ 쿼리의 결과값이 없을 경우에 대한 처리부분에 대해 공부중인데요,,

 

SELECT * FROM tmptbl WHERE 조건;

-> 조건에 맞는 열이 없을경우 not found를 리턴하잖아요?

 

SELECT COUNT(*) FROM temptbl WHERE 조건;

-> 조건에 맞는 열이 없을 경우 0을 리턴하잖아요?

 

SELECT MAX(col) FROM temptbl WHERE 조건;

-> 조건에 맞는 열이 없을 경우 어떤 값을 리턴하는것인가요?

 

ProC를 이용한 프로그램을 작성중인데, 쿼리를 수행하여 결과값이 없을 경우에 처리를 해줘야하거든요..

조건에 맞는 값이 없을 경우 MAX()함수는 특정한 값을 리턴하지 않는건가요?

 

SQL> select max(phone) from mail where created > sysdate;

MAX(PHONEID)
----------------

단순히 쿼리를 실행해보니 아무 내용도 리턴하지않는데요..

 

답변 부탁드립니다~ (_ _)

by 마농 [2005.09.27 00:00:00]
GROUP BY 절이 포함되면 리턴이 없구요.
GROUP BY 절이 없다면 리턴값은 NULL.

by 지나가다 [2005.09.27 00:00:00]
not found를 리턴할것 같은데요

by 윤영헌 [2005.09.27 00:00:00]
max(phone) --> max(nvl(phone, 'N'))
으로 하면 'N' 값을 나올것 같은데요..
한번 해보세요..

by 마농 [2005.09.28 00:00:00]
영헌님꺼 max(nvl(phone, 'N')) 도 널입니다.
널값대신 다른값을 구하려면 nvl(max(phone),'N')

by 박건우 [2005.09.30 00:00:00]
답변 감사합니다^^
nvl()을 함 이용해봐야겟네요~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입