使用sql LIKE来匹配完整的单词

时间:2014-01-22 12:57:35

标签: php mysql sql

我需要搜索不属于他们的整个单词

$q = $_GET['q'];
SELECT * FROM table WHERE column LIKE '% $q %'

例如$q = mag如果找不到杂志 我尝试过用户发布的解决方案但是没有用

喜欢REGEX和CONCAT

ps:我的db列是一个大文本

3 个答案:

答案 0 :(得分:1)

我不知道这是否会解决您的问题,或者您已经尝试过,但试一试   使用以下REGEXP

查找单词边界
SELECT * FROM table WHERE column  RLIKE "[[:<:]]$q[[:>:]]";

答案 1 :(得分:0)

不要使用LIKE ...在这种情况下仅使用比较。像这样:

SELECT * FROM table WHERE column = '$q';

答案 2 :(得分:0)

如果您的单词用空格分隔,则在两边添加空格:

SELECT *
FROM table
WHERE concat(' ', column, ' ') LIKE '% $q %';