0

这是一个简单的问题,我确定我的措辞是否正确,以前在这里有人问过,但是我找不到...

所以......这是我的问题。

我有一个名字表:

+-----------+------------+
|   ID      |    NAME    |
+-----------+------------+
|   1       |    BOB     |
+-----------+------------+
|   2       |   NANCY    |
+-----------+------------+
|   3       |   FRED     |
+-----------+------------+

我想返回字符串中存在的行:

“Bob 和 Jane 去商店见 Fred” 将返回第 1 行和第 3 行。

在我的大脑中,SELECT ID FROM names WHERE name IN('bob and jane went to the store to meet fred');显然不是。什么是正确的查询类型?

提前致谢。

4

1 回答 1

1

在 MySQL 中使用它

SELECT ID
FROM names
WHERE ' bob and jane went to the store to meet fred ' like concat('% ',name,' %')

+ 运算符会将两边的操作数转换为数字,这实际上不是您想要的。另外,您是否希望 Boby 为 Bob 而返回 Frederick 为 Fred?如果没有,您需要在concat传入的字符串周围加上空格以进行搜索。

于 2012-09-25T23:24:00.487 回答