Develope/DataBase

[Oracle] 오라클의 공백문자와 null

고로이 2018. 10. 2. 10:36
반응형

Oracle에서 길이가 0인 데이터는 Null이다.

오라클만 해당하는듯

mysql은 공백문자가 존재했던 것으로 기억한다.



- 실제로 길이가 0으로 나오지는 않는다. (-0)

SELECT LENGTHB(''), LENGTH(''), VSIZE(''), DUMP('') FROM dual

결과는 모두 NULL



- Not Null인 컬럼에 대해 '' 공백문자는 insert 불가능하다. 
    char (1)이 가능하다는 글이 있는데 null로 들어간다. 
number 또한 null


- COUNT('') ==> 0



- 참고  : http://neovader.tistory.com/111


declare v varchar(10);

begin

v:= '';

    if v is null then

        DBMS_OUTPUT.PUT_LINE('NULL');

    else

        DBMS_OUTPUT.PUT_LINE('Not NULL');

    end if;


    if v = '' then

        DBMS_OUTPUT.PUT_LINE('EMPTY STRING');

    else

        DBMS_OUTPUT.PUT_LINE('NOT EMPTY STRING');

    end if;

end;



실행결과는 NULL NOT EMPTY STRING

오라클에서 v=''으로 할당하면 null값으로 인식된다.


반응형