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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.