我正在寻找一种使用MySql将数据库值与给定查询进行比较的方法 (反对在数据库中搜索查询)
我会详细说明: 我有一个表,其中包含逗号分隔的关键字和每个关键字块的结果 例如:
col 1 col 2
梅赛德斯,宝马,斯巴鲁汽车
万宝路,温斯顿香烟今天我正在接受用户查询(例如 - Marlboroligt) 正如你可以看到我是否会在数据库中搜索“Marlboroligt”值,我将无法获得任何结果。
为此我想从查询中的db中搜索'Marlboro'并返回'cigarette'
希望我的解释是充分的,这实际上是可能的: - )。
答案 0 :(得分:0)
标准化将对您有所帮助。否则,在此处讨论以逗号分隔的字段搜索:
Select all where field contains string separated by comma
...并且搜索'Marlboroligt'而不是'Marlboro Light',你可以尝试查看LEVENSHTEIN
函数,或者可能是Soundex编码(对于太大的降价看起来太小了,但话说回来,也许......)。
答案 1 :(得分:0)
我看到了以下可能的解决方案:
使用之类的模式
从mytable中选择col2,其中col1类似于“%Marlboro%”
喜欢会降低您的应用程序速度,并且可能会出现与子字符串相关的问题。