MySQL选择LIKE和WHERE

kir*_*cha 6 mysql null select where sql-like

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

SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL
Run Code Online (Sandbox Code Playgroud)

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

Web*_*net 5

也许问题是引号,使用 " 而不是 ' 来包装 LIKE 子句。

SELECT * FROM people
WHERE bio LIKE "%died%"
AND death_date IS NULL
Run Code Online (Sandbox Code Playgroud)


Yas*_*lev 5

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