-- NULL TEST
SELECT *
FROM (
SELECT NULL AS A, '11' B FROM DUAL
UNION ALL
SELECT '' AS A, '22' B FROM DUAL
UNION ALL
SELECT '1' AS A, '33' B FROM DUAL
UNION ALL
SELECT '2' AS A, '44' B FROM DUAL
UNION ALL
SELECT ' ' AS A, '55' B FROM DUAL
) C
WHERE
C.A IS NOT NULL -- 1
--C.A = DECODE(C.A, NULL, NULL, C.A) -- 2
1번째와 2번째의 쿼리 결과는 같습니다.
is not null 을 사용하지 않을려고 2번째 처럼 변형을 했습니다. 근데 맞는 표현일까요?
C.A = null 이런 표현식은 결과가 없을 것입니다. 그래서 no row가 발생하고,
나머지는 c.a = c.a 이니 널이 아닌 데이타만 나온다? 같은 표현일까요?
사족.
실제로 쓰고 있는 쿼리에서 is not null을 사용하고 있습니다. 요 부분에서 조회 쿼리
속도가 팍 떨어져서 변형을 할려고 이짓을 하고 있습니다.
그런데 해당 컬럼의
data type이 date라서 컬럼 > ' ' 이 방법도 못 쓰겠고 해서 요래 해보고 있습니다.
조언 부탁 드립니다.
근데 참 덥습니다.