我不希望在LIKE匹配部分单词的地方返回行。我在空格上拆分字符串,然后生成一个查找匹配项的查询,但它返回部分单词的匹配项。这是一个例子
SELECT ID from VideoGames WHERE Title Like "%GI%" AND Title Like "%JOE%"
返回一个匹配,其中title =“Yu-Gi-Oh!Chaos的力量:Joey the Passion”。
我知道只匹配完整的单词不会完全解决问题,但它会极大地提高准确性。我该怎么做才能回报我想要的东西而不是这个。
答案 0 :(得分:1)
您可以使用RLIKE
LIKE
的正则表达式版本,以便在匹配时获得更大的灵活性。
SELECT ID from VideoGames
WHERE Title RLIKE "[[:<:]]GI[[:>:]]" AND Title RLIKE "[[:<:]]JOE[[:>:]]"
[[:<:]]
和[[:>:]]
标记分别是标记开头和单词的字边界。您可以构建单个正则表达式而不是AND
,但我已将此匹配作为原始问题。