我正在使用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(使用前将#替换为@)