0

我对 MATCH AGAINST 查询有疑问。当我传递 onlu 数值时,我在查询中得到 0 结果这是我的查询:

SELECT * FROM tbl1 WHERE MATCH(Sub_Name ) AGAINST('+praga*' IN BOOLEAN MODE) AND MATCH(Sub_Address ) AGAINST('+203*' IN BOOLEAN MODE)// 找到结果 0 行

SELECT * FROM tbl1 WHERE MATCH(Sub_Name ) AGAINST('+praga*' IN BOOLEAN MODE) AND MATCH(Sub_Address ) AGAINST('+203 s*' IN BOOLEAN MODE)// 找到的结果

当我在 (203) 中使用任何数字时,我得到 0 结果,但我使用任何带有 203 s 的字符,然后找到结果,并且我的地址字段值为“203 surat”

4

1 回答 1

0

这是因为通配符 * IN BOOLEAN MODE 返回以它们所附加的单词开头的匹配项。在你的情况下,我想没有一个词以 203 开头。因此,您必须指定作为匹配开始部分的单词/字母。在你的情况下'S'

参考星号用作截断(或通配符)运算符。与其他运算符不同,它应该附加到要受影响的单词上。如果单词以 * 运算符之前的单词开头,则单词匹配。

于 2014-11-27T13:21:40.293 回答