MySQL选择LIKE和WHERE

时间:2010-11-19 16:49:12

标签: mysql select null where sql-like

我有一张传记数据表,我需要做一个查询,选择在他们的生物中有“死”字并且死亡日期为NULL的人。这不起作用:

SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL

选择death_date为null的所有人,但也选择在他们的bio中没有“death”字样的人。我可以在一个查询中执行此操作吗?

3 个答案:

答案 0 :(得分:5)

这可能是一个像'完整'这样的词,他们仍然会被选中。仔细检查“死亡”短语是否不存在作为您所选记录中某些单词的一部分。

答案 1 :(得分:4)

问题可能是引号,使用“而不是”来包装LIKE子句。

SELECT * FROM people
WHERE bio LIKE "%died%"
AND death_date IS NULL

答案 2 :(得分:0)

我建议你制作生物大写并且喜欢“%DIED%”也要确保death_date真的为空,看看你是否从两个案例中独立得到答案。你得到了什么回应?