mysql:4970
From: Youhei Hayakawa <Youhei Hayakawa <hayakawayuh@xxxxxxxxxx>>
Date: Fri, 18 Jan 2002 13:52:53 +0900
Subject: [mysql 04970] Re: 数値型の扱いについて
皆様ご回答ありがとうございます 早川です > > >$sql = "select * from table"; > >$sql .= "where hoge = '$i'"; > > > >の様に、$i を '' で囲ってしまうとエラーが出なくなるので > >すが、ホントにこれで良いのかと不安に思っています。 > >これは対応として mysql 的に正しいのでしょうか? > > 整数型に対してNULL値で検索したい場合は、SQL的に "is NULL" を使う > のが正しいのではないでしょうか。つまり$iの値によりSQL文を切り替える > 必要があると思います。 > > if (defined($i)) { > $sql = "select * from table"; > $sql .= "where hoge = $i"; > } > else { > $sql = "select * from table"; > $sql .= "where hoge is NULL"; > } > 崎村さんのおっしゃるように、 『条件分岐して"is NULL"を使う』 のが sql 的には正しいが、 『$i が NULL の場合には sql を流す必要が無い』 という時には、小岩さんのおっしゃられている方法を 『hoge列に "値0" が存在しない場合』 には楊さんのおっしゃられている手段もあるということと理解させて頂き、 状況によって使い分けさせて頂きたいと思います。 皆様どうもありがとうございました。
4958 2002-01-18 11:38 [Youhei Hayakawa <hay] 数値型の扱いについて 4959 2002-01-18 11:44 ┣["Ningfeng Yang" <yan] 4960 2002-01-18 11:51 ┣[Satoshi Koiwa <koiwa] 4961 2002-01-18 12:10 ┣[Noriyuki Sakimura <s] -> 4970 2002-01-18 13:52 ┃┗[Youhei Hayakawa <hay] 4969 2002-01-18 13:44 ┗["KAWAI,Takanori" <GC]