Q&A

  • Informix의 Filed에 Null 이 들어가지 않습니다.
Informix의 Field를 check한 결과

Field값에 null이 들어가지 않고 space가 들어갔습니다.



null값이 들어가야만 제반 통계를 만들수 있습니다.

이 문제에 대한 원인과 해법을 알려주시면 고맙겠습니다.



1. 사용예

select count(A), count(B)

From A_DB



2. 처음 insert시 column A에는 항상 값이 들어가 있고

column B에는 null이 들어갑니다.

나중에 업무가 진행되면서 column B에 값이 들어갑니다.

- Insert직후 count(B)는 값이 zero로 나와야 하는데,

어떤 값이 있다고 나와서

column을 check해보면 space가 들어가있습니다.



3. 동일한 프로그램에 Paradox DB를 사용한 경우에는

count(B)의 값이 zero로 나옵니다.



Informix나 유사Data Base에 대한 경험이 많으신 여러분들의 도움을

간절히 기다립니다.

5  COMMENTS
  • Profile
    Hoon Reader 2000.08.14 05:33
    Not NULL로 Field 속성을 설정한걸로 보입니다.

    Field 속성을 Accept NULL로 설정하세요.



  • Profile
    고재성 2000.08.14 08:32
    Hoon Reader wrote:

    > Not NULL로 Field 속성을 설정한걸로 보입니다.

    > Field 속성을 Accept NULL로 설정하세요.

    >

    당연히 Not Null로 설정하지 않았습니다.

    동일한 Program을 Paradox에서 적용할 경우 Null값이 나옵니다.

    그런데 Informix에서 사용하면 Not Null값이 나오니까 답답한 상태입니다.



    참고로 해당 Field는 char 모드에 8자리 입니다.

  • Profile
    성호종 2000.08.14 22:33
    고재성 wrote:

    null이 되어야 할 필드에 혹시 '' <- 이렇게 하시지 않으셨나요?

    이렇게 하게 되면 널과는 다른 어떠한 값으로 인식을 합니다.

    때문에 반드시 null <- 이렇게 insert하셔야 합니다.

    저는 informix 경력 3년입니다.



    > Hoon Reader wrote:

    > > Not NULL로 Field 속성을 설정한걸로 보입니다.

    > > Field 속성을 Accept NULL로 설정하세요.

    > >

    > 당연히 Not Null로 설정하지 않았습니다.

    > 동일한 Program을 Paradox에서 적용할 경우 Null값이 나옵니다.

    > 그런데 Informix에서 사용하면 Not Null값이 나오니까 답답한 상태입니다.

    >

    > 참고로 해당 Field는 char 모드에 8자리 입니다.

  • Profile
    고재성 2000.08.18 09:34
    1. 가르침데로 Informix에서 SQL문으로 Update한 결과는 잘 처리되었습니다.

    (적용예 1) update A_DB

    set Fld_B = null

    where Fld_B = '' or Fld_B = ' ';

    (적용예 2) select count(Fld_A) count(Fld_B)

    From A_DB

    (결과) update는 잘되었고 count(Fld_B)의 값은 Zero 이었습니다.



    2. 그러나 Delphi문에서 DataBase를 처음 Insert할 때에 Null을 삽입하는 것은

    실패하였습니다.



    (적용예 1) A_DB.Field_B.value := Null; (value 대신 text를 써도 마찬가지)



    (적용예 2) Edit_Field_B.text := null;



    (결과) 위 어떤 방식으로 적용하던간에 결과 메세지는

    'Invalid Variant Type Conversion'으로 나타남



    3. 가이드를 해주실 고수님들의 고견을 구합니다.



    감사합니다. - 고재성 -







    성호종 wrote:

    > 고재성 wrote:

    > null이 되어야 할 필드에 혹시 '' <- 이렇게 하시지 않으셨나요?

    > 이렇게 하게 되면 널과는 다른 어떠한 값으로 인식을 합니다.

    > 때문에 반드시 null <- 이렇게 insert하셔야 합니다.

    > 저는 informix 경력 3년입니다.

    >

    > > Hoon Reader wrote:

    > > > Not NULL로 Field 속성을 설정한걸로 보입니다.

    > > > Field 속성을 Accept NULL로 설정하세요.

    > > >

    > > 당연히 Not Null로 설정하지 않았습니다.

    > > 동일한 Program을 Paradox에서 적용할 경우 Null값이 나옵니다.

    > > 그런데 Informix에서 사용하면 Not Null값이 나오니까 답답한 상태입니다.

    > >

    > > 참고로 해당 Field는 char 모드에 8자리 입니다.

  • Profile
    고재성 2000.08.15 15:22
    처음에는 값을 move하지 않았었습니다.

    그런데 not null이 나와서

    그 다음에는 성호종님이 지적하신 것처럼

    Field에 '' 값을 move하기도 하였습니다.

    그래도 결과는 마찬가지 였지요.



    어쨋든 성호종님의 자문대로 하면 될것 같은 생각이 듭니다.

    적용한 다음 그 결과를 알려드리겠습니다.

    감사합니다.





    성호종 wrote:

    > 고재성 wrote:

    > null이 되어야 할 필드에 혹시 '' <- 이렇게 하시지 않으셨나요?

    > 이렇게 하게 되면 널과는 다른 어떠한 값으로 인식을 합니다.

    > 때문에 반드시 null <- 이렇게 insert하셔야 합니다.

    > 저는 informix 경력 3년입니다.

    >

    > > Hoon Reader wrote:

    > > > Not NULL로 Field 속성을 설정한걸로 보입니다.

    > > > Field 속성을 Accept NULL로 설정하세요.

    > > >

    > > 당연히 Not Null로 설정하지 않았습니다.

    > > 동일한 Program을 Paradox에서 적용할 경우 Null값이 나옵니다.

    > > 그런데 Informix에서 사용하면 Not Null값이 나오니까 답답한 상태입니다.

    > >

    > > 참고로 해당 Field는 char 모드에 8자리 입니다.