"Where"语句:包含某个子字符串

Mel*_*lon 7 mysql sql database

我正在使用MySQL.

我的数据库中有一个汽车表,该表中有一name列.

假设name表的列包含值:

 +----------+
 |   name   |
 +----------+
 | AAA BB   |
  ----------
 | CC D BB  |
  ----------
 | OO kk BB |
  ----------
 | PP B CC  |
  ----------
Run Code Online (Sandbox Code Playgroud)

我想搜索name列值包含" BB " 的表,实现此目的的SQL命令是什么?

我试过了 :

SELECT * FROM car WHERE name LIKE "BB";
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

PS

name列中的值是随机字符串.

请不要让我使用IN(...),因为该列中的值是不可预测的.

---------请关闭这个问题--------------

对不起,我想我错了地问了这个问题.其实我要的是一个单词匹配而不是子串.

Mat*_*ani 28

您需要包含%运算符以在名称字段中选择包含"BB"的记录,而不仅仅是精确值.

SELECT * FROM car WHERE name LIKE "%BB%";
Run Code Online (Sandbox Code Playgroud)

  • 没有提供替代品,只是不太有用Matteo. (3认同)
  • 是的,可能效率低下.这取决于我们在桌面上有多少行.这是最简单的解决方案 (2认同)