MYSQL LIKE通配符排除NULL值

时间:2016-03-21 11:48:00

标签: mysql null where wildcard

在我的狗db中,我试图选择多个值。

我有一个“dna”列,它可以是DNA DNAComp或NULL

如果我选择通配符,即

WHERE dna LIKE "%";

我希望得到所有的狗,但我只得到dna不是NULL的狗。

我也尝试过:

WHERE dna IN('DNA','DNAComp',NULL);

具有类似的结果(即忽略空记录)。

有什么想法吗?

加里

2 个答案:

答案 0 :(得分:2)

我认为你应该使用

WHERE dna IN ('DNA','DNAComp' ) or dna is NULL;

答案 1 :(得分:0)

您可以使用IFNULL,如下所示:

SELECT * FROM t WHERE IFNULL(dna, '') LIKE '%'