2015-09-22 49 views
2

我有一个工作的SELECT语句。但是,我想知道是否可以使用单词'one'代替单词'one'。在'one'的左侧和右侧使用空格,以确保它不是另一个单词的一部分。所以,举个例子,如果这个词是'someone'的话,它就不会被选中。请看看我的代码。在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) 

我试图用“一”,而不是“一”,但是当我这样做,而以前,只用“一”,它返回2行的结果是没有返回结果。下面是一个人谁sqlFiddle要测试的实际代码好自为之:

http://sqlfiddle.com/#!9/136e3/2

回答

-1

你可以试试这个:

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

这是公认的答案,但还是有人downvoted。奇怪。 – RubahMalam