我有一张传记数据表,我需要做一个查询,选择在他们的生物中有“死”字并且死亡日期为NULL的人。这不起作用:
SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL
选择death_date为null的所有人,但也选择在他们的bio中没有“death”字样的人。我可以在一个查询中执行此操作吗?
答案 0 :(得分:5)
这可能是一个像'完整'这样的词,他们仍然会被选中。仔细检查“死亡”短语是否不存在作为您所选记录中某些单词的一部分。
答案 1 :(得分:4)
问题可能是引号,使用“而不是”来包装LIKE子句。
SELECT * FROM people
WHERE bio LIKE "%died%"
AND death_date IS NULL
答案 2 :(得分:0)
我建议你制作生物大写并且喜欢“%DIED%”也要确保death_date真的为空,看看你是否从两个案例中独立得到答案。你得到了什么回应?