MYSQL LIKE 通配符排除 NULL 值
MYSQL LIKE Wildcards exclude NULL values
在我的狗数据库中,我正在尝试 select 多个值。
我有一个列 "dna" 可以是 DNA DNAComp 或 NULL
如果我 select 使用通配符即
WHERE dna LIKE "%";
我希望得到所有的狗,但我只得到 dna 不为 NULL 的狗。
我也试过了:
WHERE dna
IN ('DNA','DNAComp',NULL);
结果相似(即忽略空记录)。
有什么想法吗?
加里
我认为你应该使用
WHERE dna IN ('DNA','DNAComp' ) or dna is NULL;
您可以使用 IFNULL
,像这样:
SELECT * FROM t WHERE IFNULL(dna, '') LIKE '%'
在我的狗数据库中,我正在尝试 select 多个值。
我有一个列 "dna" 可以是 DNA DNAComp 或 NULL
如果我 select 使用通配符即
WHERE dna LIKE "%";
我希望得到所有的狗,但我只得到 dna 不为 NULL 的狗。
我也试过了:
WHERE dna
IN ('DNA','DNAComp',NULL);
结果相似(即忽略空记录)。
有什么想法吗?
加里
我认为你应该使用
WHERE dna IN ('DNA','DNAComp' ) or dna is NULL;
您可以使用 IFNULL
,像这样:
SELECT * FROM t WHERE IFNULL(dna, '') LIKE '%'