(BLANK)데이터가 NULL일까?


SQL> WITH t AS (SELECT NULL AS c1 FROM dual
                UNION ALL
                SELECT ' ' FROM dual)
     SELECT 'NULL'
           ,COUNT(*)
     FROM   t
     WHERE  c1 IS NULL
     UNION ALL
     SELECT 'NOT NULL'
           ,COUNT(*)
     FROM   t
     WHERE  c1 IS NOT NULL;

'NULL'      COUNT(*)
---------- ---------
NULL               1
NOT NULL           1

  • {BLANK)는 NULL이 아닌 NOT NULL 데이터(문자)
  • (BLANK)은 문자 중 가장 작은 값으로 아스키 코드를 문자로 바꿔주는 CHR함수로 표현하면 CHR(0)

TRIM&NVL처리


SQL> WITH t AS (SELECT NULL AS c1 FROM dual
                UNION ALL
                SELECT ' ' FROM dual)
     SELECT COUNT(*)
     FROM   t
     WHERE  nvl(TRIM(c1), 'ISNULL') = 'ISNULL';

COUNT(*)
--------
       2

실사례 예제