database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 1941 게시물 읽기
No. 1941
[질문] null 값의 비교...
작성자
김재호(ktinybird)
작성일
2007-06-08 21:14
조회수
5,895

null값끼리 비교를 하려고 합니다..

아래 비교값 REF.REF_NO와 조건값이 모두 null로 떨어지고 있습니다...

결국  REF.REF_NO(null입니다) = null 인 상태입니다..

그런데 해당 case문에서 리턴되는 null값과 조건값 null의 비교가 제대로 이루어 지지 않습니다...

어떤식으로 비교를 해야 하는지 알려주시면 감사하겠습니다..

좋은하루되세요..^^


//-----------------------------------------------------------------------------------------------------------


 REF.REF_NO =   CASE
                           WHEN (SELECT COUNT( INFO_VAL_TEXT )
                                    FROM PPIT03TB
                                   WHERE INFO_CD = '01552'
                                     AND APPL_END_DATE = '9999-12-31'
                                     AND ETSTATUS = 'A'
                                     AND FK_PLCY_NO = REF.FK_PLCY_NO) = 0  AND REF.REF_NO = ''
                           THEN ''
                           WHEN (SELECT COUNT( INFO_VAL_TEXT )
                                    FROM PPIT03TB
                                   WHERE INFO_CD = '01552'
                                     AND APPL_END_DATE = '9999-12-31'
                                     AND ETSTATUS = 'A'
                                     AND FK_PLCY_NO = REF.FK_PLCY_NO) = 0  AND REF.REF_NO IS NULL
                           THEN NULL
                           ELSE (SELECT INFO_VAL_TEXT
                                    FROM PPIT03TB
                                   WHERE INFO_CD = '01552'
                                     AND APPL_END_DATE = '9999-12-31'
                                     AND ETSTATUS = 'A'
                                     AND FK_PLCY_NO = REF.FK_PLCY_NO)
                      END

-----------------------------------------------------------------------------------------------------------//

이 글에 대한 댓글이 총 1건 있습니다.

null 값은 비교 할 수 없습니다.

따라서 isnull로 처리해야 할 듯..



1.샘플생성


create table #temp ( c char(1) null, d char(1) null)

create table #temp2 ( c char(1) null, d2 char(1) null)

insert #temp values ( '1', null)

insert #temp2 values ( '3', null)

2. 결과비교1

select * from #temp a, #temp2 b

where  a.d = b.d2

결과

c    d    c    d2  

-    -    -    --   


3. isnull로 처리

select * from #temp a, #temp2 b

where isnull(a.d, '0') = isnull(b.d2 , '0')

결과

c    d    c    d2  

-    -    -    --  

1    NULL 3    NULL 


 

 

 

영빈~(backfish)님이 2007-06-11 09:58에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1944사이베이스에서 여러 개 컬럼 비교 [1]
구자성
2007-06-12
6028
1943서브쿼리 안에서의 top이 가능한가요? [4]
쿼리질문입니다
2007-06-11
7555
1942쿼리 질문?? [1]
방문자
2007-06-11
6391
1941[질문] null 값의 비교... [1]
김재호
2007-06-08
5895
1940쿼리로 가능한지 알고 싶습니다. [3]
왕왕초보
2007-06-08
5649
1939DB사이즈 늘려도 문제 없나요? [4]
초보
2007-06-07
6576
1938systabstats 알려주세요 [4]
Jack
2007-06-04
6059
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다