问题:我正在使用MYSQL和PHP最新版本。我们在MYSQL FULLTEXT搜索中遇到了这个问题。它不适用于hypen( - )和plus(+)字符。
示例1 在行业表中,' industry_size'字段具有以下值:
1. 1 2. 2 - 9 3. 10 - 15
如果我使用搜索字词2 - 9
,则会显示空结果,但正确答案为2 - 9
。
示例2 在用户表格中,' phone_number'字段具有以下值:
1. 9856237845 2. +91 8945785698 3. +91 7489569878
如果我使用搜索字词+91 89
,则会显示空结果,但正确答案为+91 8945785698
。
请告知。提前谢谢。
答案 0 :(得分:0)
你需要使用*。 documentation说:
星号用作截断(或通配符)运算符。不像 其他运营商,应该附加到受影响的词。 如果单词以*运算符之前的单词开头,则匹配。
试试这个:
MATCH(field) AGAINST("+91 89*" IN BOOLEAN MODE)
或者您可以使用二元运算符
where BINARY your_column = BINARY "2-9"