我有以下SQL
查询返回所有包含NANI
的单词。比较LIKE子句与完整词
SELECT * FROM some_tbl WHERE q LIKE '%NANI%';
这是很好的,当我有这样在我的数据库一句:
纳尼出生在佛得角移民到欧洲与他的家人在 早期的年龄。
但是,如果我只输入NA
或NI
以上的查询,该句子将再次返回。
我需要一个模式,比较LIKE
子句与完整的单词而不是单词的一部分,任何想法?
我有以下SQL
查询返回所有包含NANI
的单词。比较LIKE子句与完整词
SELECT * FROM some_tbl WHERE q LIKE '%NANI%';
这是很好的,当我有这样在我的数据库一句:
纳尼出生在佛得角移民到欧洲与他的家人在 早期的年龄。
但是,如果我只输入NA
或NI
以上的查询,该句子将再次返回。
我需要一个模式,比较LIKE
子句与完整的单词而不是单词的一部分,任何想法?
只要把空格周围的目标字符串:
SELECT *
FROM some_tbl
WHERE q LIKE '% NANI %'
or q LIKE 'NANI %'
or q LIKE '% NANI'
or q = 'NANI';
感谢工作像一个魅力;-) – NullPointer 2013-02-17 15:29:29
@DKN更新的答案,包括“单词”的情况。 – BellevueBob 2013-02-20 00:10:26
你只考虑“白色空间”作为分隔符?还是特殊字符?例如“My-NANI ...”。如果您考虑使用特殊字符作为分隔符,您可能需要使用REGEXP而不是LIKE。 – Slowcoder 2013-02-17 15:35:49