我有以下SQL查询,该查询返回所有包含NANI的单词。

SELECT * FROM some_tbl WHERE q LIKE '%NANI%';


当数据库中有这样的句子时,这是很好的:


  纳尼(Nani)出生在佛得角(Verde),并随家人移民欧洲。
  很小的时候。


但是,如果我在上面的查询中只键入NANI,则该句子将再次返回。

我需要一种将LIKE子句与完整单词而不是单词的一部分进行比较的模式,有什么想法吗?

最佳答案

只需在目标字符串周围加上空格即可:

SELECT *
FROM some_tbl
WHERE q LIKE '% NANI %'
   or q LIKE 'NANI %'
   or q LIKE '% NANI'
   or q = 'NANI';

关于mysql - 比较LIKE子句和完整单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14922582/

10-13 00:59