首页 > 解决方案 > 只有当它不包含字符串时,我如何才能带一个寄存器 - SQL?

问题描述

我的查询是这样的:

SELECT * FROM table WHERE name LIKE "%Mary%"

但是现在,我想带上所有出现的内容,只要它不包含“Jane”,尤其是在“Mary”中。我不想要“Mary Jane”、“Jane Mary”或任何变体(例如“Mary Smith Jane”)。

我真的不知道该怎么做。

编辑:我不确定我是否只能使用“不喜欢”,因为出于其他原因,我已经在同一个查询中使用了“不喜欢”。

实际上:

SELECT * FROM table WHERE name NOT LIKE "%John%"
AND name NOT LIKE '%Charlie%'
AND name LIKE '%Mary%'

标签: sql

解决方案


只需将其添加到WHERE子句中:

WHERE name LIKE '%Mary%' AND
      name NOT LIKE '%Mary Jane%'

或者,如果您的意思是完全匹配不是您想要的:

WHERE name LIKE '%Mary%' AND
      name <> 'Mary Jane'

推荐阅读