PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
7310 99/07/28 15:04:55 RE(3):PB6.5: \"\"はNULL? By こてちゅ
7309 99/07/28 14:33:28 RE(2):PB6.5: \"\"はNULL? By Taka
7307 99/07/28 13:47:05 RE(1):PB6.5: \"\"はNULL? By こてちゅ
7306 99/07/28 12:44:43 PB6.5: \"\"はNULL? By シャインMR

カテゴリ:スクリプトの記述
日付:1999年07月28日 13:47 発信者:こてちゅ
題名:RE(1):PB6.5: \"\"はNULL?

シャインMRさん、こんにちは。

>INSERT文で \"\" (0バイトの文字列。スペースではありません)を入れるとテーブルではNULLになるんですか?

正確に言えば、\"\"はNULLではありません。
ただし、「空文字をNULLとして扱う」などの指定をしていたりするとNULLとなります。
SQLで

  INSERT INTO \"department\"  
         ( \"dept_id\",   
           \"dept_name\",   
           \"dept_head_id\" )  
  VALUES ( 110,   
           \'\',   
           null )  ;

としてみましょう。
(これはPBについてくるデモDBでテストしています。)

そして、
  SELECT \"department\".\"dept_id\",   
         \"department\".\"dept_name\",   
         \"department\".\"dept_head_id\"  
    FROM \"department\"  
   WHERE \"department\".\"dept_name\" = \'\'   ;

とやった場合と、Where句を
   WHERE \"department\".\"dept_name\" IS NULL   ;
とした場合でどちらが正しく結果を得られるか比較してみるとよくわかると思います。

DWで自動生成されるSQLを取得して、どちらになっているのか確かめてみてください。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 8
Browser InternetExplorer4.X

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.