【问题标题】:MySQL match against string containing percentage charMySQL匹配包含百分比字符的字符串
【发布时间】:2012-02-29 20:55:37
【问题描述】:

我正在尝试在 db 行中查找包含百分号的值。

比如有一行的值“减少了10%”。

我需要过滤包含“10%”的结果,而不仅仅是“10”。

我正在尝试

SELECT name, MATCH(name) AGAINST('10\%') AS score 
FROM mytable 
ORDER BY score DESC

但它返回的所有结果都是“10”。

有什么想法吗?

【问题讨论】:

  • 试试SELECT name FROM mytable WHERE name LIKE '%\%%' ORDER BY score DESC ?
  • 不幸的是我需要使用 MATCH AGAINST

标签: mysql against match-against


【解决方案1】:

尝试以下方法:

SELECT name, MATCH(name) AGAINST('+10\%' IN BOOLEAN MODE) AS score 
FROM mytable 
ORDER BY score DESC

【讨论】:

  • 结果如何,您的期望是什么?
  • 对不起,如果我不够清楚,我希望过滤其中包含“10%”而不是“10”的结果。使用您和我的代码,我用“10”过滤了所有结果
猜你喜欢
  • 2021-02-05
  • 2019-07-07
  • 2019-07-11
  • 2020-08-28
  • 2015-11-08
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多