FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[4060] Re:Re:COALESCE 값...
아폴론 [apollon] 2503 읽음    2011-02-15 16:53
까막.윤창희 님이 쓰신 글 :
: 아폴론 님이 쓰신 글 :
: : COALESCE 이 함수는 조회되는 필드가 널이면 지정한 값을 주어라..이런 함수인데요..
: : 테스트 해 봤습니다..
: :
: : select
: :   COALESCE(ad_bncd,'a') bncd,  //==> null
: :   COALESCE(ad_tmcd,'a') tmcd,   //==> null
: :   COALESCE(ad_sabn,'a') sabn   //==> null
: :   from CLIENT                 
: : where ad_clcd = 'A1001'
: :
: : 테이블과 필드는 존재하는 실제 입니다.  where 대입 값 'A1001'은 없는값입니다.
: : 즉 널값이 조회 되겠지요..
: : 그런데 널( COALESCE)이면 a 값을 나타내라..했는데..저것이 버릇없이  null 값을 나타내네요..쩝
: :
: : select
: :   COALESCE(max(ad_bncd),'a') bncd,  //==> a
: :   COALESCE(max(ad_tmcd),'a') tmcd,   //==> a
: :   COALESCE(max(ad_sabn),'a') sabn   //==> a
: :   from CLIENT                 
: : where ad_clcd = 'A1001'
: :
: : 이러니..제대로 a 값을 나타 내네요..
: : 누가 설명좀 해 주실래요?...ㅎㅎ
:
: 안녕하세요.
: 까막입니다.
:
: 첫번째 쿼리문에서 Where 조건값의 A1001 은 없다고 하셨죠?
: 그래서, NULL 을 반환합니다.
: 이 경우 Select 문에서 반환하는 값은 없는 것이죠.
: 그래서, Coalesce 명령 자체도 실행이 될 일이 없습니다.
:
: 두번째 쿼리문에서는 같은 조건에 Max 가 들어갔죠?
: 해당 조건값을 만족하는 결과셋에서 Max 가 뭔지 반환하라는 것이잖아요?
: 그런데, 조건에 일치하는 값이 없으므로 결과값으로 NULL 을 반환합니다.
: 이 경우 Select 문에서 반환하는 값은 NULL 입니다.
: 여기서 Coalesce 명령이 실행이 되면서 'a' 로 변환해서 나타냅니다.
:
: 결과값 자체가 없어서 NULL 이 반환되는 경우랑, 결과값이 NULL 인 경우는 다릅니다.

윤창희님 답변 감사합니다..

음..말꼬리 잡는거 같은데..절대 아니구요..제가이해가 안돼서요..ㅎㅎ

첫번째나 두번째나.. COALESCE 문이..같이 where 절에 만족하는 값이 없는데..
즉, 모두 널인데..

max시는 값이 없어도 실행되는 뭔가가 있나보군요..
그 뭔가를 아직 이해 하지 못하고 있습니다...ㅎㅎ

+ -

관련 글 리스트
4055 COALESCE 값... 아폴론 3400 2011/02/10
4057     Re:COALESCE 값... 까막.윤창희 8840 2011/02/14
4060         Re:Re:COALESCE 값... 아폴론 2503 2011/02/15
4063             Re:Re:Re:COALESCE 값... 까막.윤창희 3003 2011/02/22
4064                 COALESCE 값... 아폴론 8389 2011/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.