Php 在SELECT语句中的单词左右添加空格

Php 在SELECT语句中的单词左右添加空格,php,mysql,database,Php,Mysql,Database,我有一个有效的SELECT语句。然而,我想知道是否可以用“一”来代替“一”这个词。在“一”的左右两边都有空格,以确保它不是另一个单词的一部分。因此,例如,如果单词类似于“某人”,则不会被选中。请看一下我的代码 SELECT input, (CHAR_LENGTH(input) - CHAR_LENGTH(replace(input, 'one', '')))/CHAR_LENGTH('one') AS matches FROM allData HAVING matches >= CEIL(

我有一个有效的SELECT语句。然而,我想知道是否可以用“一”来代替“一”这个词。在“一”的左右两边都有空格,以确保它不是另一个单词的一部分。因此,例如,如果单词类似于“某人”,则不会被选中。请看一下我的代码

SELECT input, (CHAR_LENGTH(input) - CHAR_LENGTH(replace(input, 'one', '')))/CHAR_LENGTH('one') AS matches
FROM allData
HAVING matches >= CEIL(CHAR_LENGTH(input)/5)
AND matches = ( 
SELECT MAX( (
(CHAR_LENGTH(input) - CHAR_LENGTH(replace(input, 'one', '')))/CHAR_LENGTH('one')
) ) 
FROM allData ) 
我尝试使用“一”,而不是“一”,但当我这样做时,它没有返回结果,而以前只使用“一”,它返回两行结果。这里有一个SQLFIDLE供任何想要自己测试实际代码的人使用:

您可以尝试以下方法:

SELECT *
FROM allData
WHERE (input like '% one %'
       OR input like '% one'
       OR input like 'one %'
       OR input like 'one')
你可以试试这个:

SELECT *
FROM allData
WHERE (input like '% one %'
       OR input like '% one'
       OR input like 'one %'
       OR input like 'one')

这是公认的答案,但我被某人否决了。奇怪。这是公认的答案,但我被某人否决了。奇怪。