- 締切済み
検索する文字列のデータが空の場合もその対象にしたい
検索する文字列のデータが空の場合もその対象にするには、 SELECT * FROM `table` WHERE 1 AND `s1`='あああああ' AND `s2` IN('いいいいい',NULL) のようにするのでしょうか? 数値の場合はデータが無いのを0で表現すれば、 SELECT * FROM `table` WHERE 1 AND `m1`<=100 AND `m2`<=250 で良いですよね?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Siegrune
- ベストアンサー率35% (316/895)
回答No.2
SELECT * FROM `table` WHERE 1 AND `s1`='あああああ' AND ifnull(`s2`,'いいいいい') = 'いいいいい' なんて方法もあります。 ※ifnull()は、MySQL5.1の文法書を参照して見つけています。 http://dev.mysql.com/doc/refman/5.1-olh/ja/control-flow-functions.html 使っているVerによって違うかもしれませんから確認してください。
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
NULLのデータを拾いたいならIS NULLですね 当然NULLと''は違うので注意してください create table hoge (id int,s1 varchar(10) null,s2 varchar(10) null); insert into hoge values(1,'aaa','iii'),(2,'aaa','uuu'),(3,'aaa',''),(4,'aaa',NULL),(5,'eee','ooo'); select * from hoge where 1 and s1='aaa' and (s2 ='iii' or s2 is null);