“Where”语句:匹配单个单词(不是子字符串)

2023-12-27

我正在使用MySQL。

我有一个car我的数据库中有一个表name该表中的列。

假设name表的列包含值:

 +----------+
 |   name   |
 +----------+
 | AAA BB   |
  ----------
 | CC D BB  |
  ----------
 | OO kk BB |
  ----------
 | PP B CC  |
  ----------

我想搜索表在哪里name列值包含单词 "BB“(不是子字符串),实现此目的的 SQL 命令是什么?

I know LIKE,但它用于匹配包含的子字符串,而不是单词匹配。

P.S.

我的表包含大量数据。所以,我可能需要一种比使用 LIKE 更有效的方法

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

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


试试这个 WHERE 子句:

WHERE name LIKE '% BB %'
OR    name LIKE 'BB %'
OR    name LIKE '% BB'
OR    name = 'BB'

请注意,如果您的表很大,则此方法的性能不会很好。您可能还想考虑全文检索 http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html如果您需要更好的性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“Where”语句:匹配单个单词(不是子字符串) 的相关文章

随机推荐