我有一列campaign_name
,用户可能会键入并查找增加敏感字符串关键字。例如,他们输入了“收养一名患者”。但在我的表格中,campaign_name
:我有“收养病人”
+----------------
|campaign_name |
+----------------
|adopt-a-patient|
-----------------
select * from campaign where campaign_name LIKE '%adopt a patient%';
return ZERO result
我的 campaign_name
排序规则已设置为 utf8_general_ci
。但是,如果用户准确输入单词“adopt-a-patent”,则会按预期返回结果。
任何帮助将不胜感激。无论如何,我正在 django 应用程序上实现它。我只是在 HeidiSQL
中调试它。
最佳答案
也许用 '%'
替换空格可以达到您想要的效果:
where campaign_name like concat('%', replace('ADOPT A PATIENT', ' ', '%'), '%')
注意:这允许任何长度的字符串。如果您只想允许一个字符,请使用 '_'
代替:
where campaign_name like concat('%', replace('ADOPT A PATIENT', ' ', '_'), '%')
关于python - mysql 查询过滤器 LIKE 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58217752/