MySQL听起来似乎忽略了';a';等

MySQL听起来似乎忽略了';a';等,mysql,Mysql,我有一个包含名称的表,每个表都有一个唯一的itemcode字段,但是我还有另一个表,我们将其用作所有内容的根表,这个额外的表是我最近添加的额外表 因为我的根表中的名称与这个新表中的名称不同,所以我需要一个桥接表,它是我使用执行INSERT..SELECT的查询创建的,其中一个表中的名称等于另一个表中的名称。这很好,但是它限制了我的结果,因为一些名称在开始时包含The或A,所以我忽略了它们。所以现在我把我的a=b查询改为a听起来像,但是它只包含了末尾有差异的名称 我要寻找的是一种忽略某组单词的方法

我有一个包含名称的表,每个表都有一个唯一的
itemcode
字段,但是我还有另一个表,我们将其用作所有内容的根表,这个额外的表是我最近添加的额外表

因为我的根表中的名称与这个新表中的名称不同,所以我需要一个桥接表,它是我使用执行
INSERT..SELECT
的查询创建的,其中一个表中的名称等于另一个表中的名称。这很好,但是它限制了我的结果,因为一些名称在开始时包含
The
A
,所以我忽略了它们。所以现在我把我的
a=b
查询改为a
听起来像
,但是它只包含了末尾有差异的名称

我要寻找的是一种忽略某组单词的方法,例如:

  • A

等等,然后用剩下的名字?我不能做'LIKE%%',因为那样会捕获太多。

您可以使用
LIKE
语句删除单词
the
a
Be
等。确保搜索词的两侧都有空格,以便匹配整个词,而不是部分词

SELECT * FROM namestable where names Like '% The %'

删除{“the”,“a”,“be”,“and”},修剪,降低它,比较它们。
REPLACE
只允许你一次只做一个单词,而且我不想删除每一个出现的单词,只删除第一个。但是那些没有
the
的名字呢?我只是简单地指出,like可以用来挑选单词。这里的答案是一个概括,给出了如何使用
like
过滤此类结果的示例。在您的情况下,您需要任何与“%The%”不同的
,以及您认为不合适的任何其他术语。