MySQL将一个子字符串与另一个字符串进行比较,如果匹配,则获取匹配百分比
如果我在cust表中有一列“全名”,在同一cust表中有另一列作为“模型”。“全名”列包含ABCD,而“模型”列包含AB。既然只有前两个字母与整个字符串匹配,那么如何编写查询以使模型与全名匹配50% 提前感谢。您可以:MySQL将一个子字符串与另一个字符串进行比较,如果匹配,则获取匹配百分比,mysql,sql,database,string,select,Mysql,Sql,Database,String,Select,如果我在cust表中有一列“全名”,在同一cust表中有另一列作为“模型”。“全名”列包含ABCD,而“模型”列包含AB。既然只有前两个字母与整个字符串匹配,那么如何编写查询以使模型与全名匹配50% 提前感谢。您可以: case when locate(models, full_names) then char_length(models) / char_length(full_name) else 0 end match_ratio 这可以缩短为: (locate(mod
case when locate(models, full_names)
then char_length(models) / char_length(full_name)
else 0
end match_ratio
这可以缩短为:
(locate(models, full_names) > 0) * char_length(models) / char_length(full_name)
这将为您提供一个介于0和1之间的数值,表示匹配比率。如果您想要一个百分比,您可以将其乘以100,您可以:
case when locate(models, full_names)
then char_length(models) / char_length(full_name)
else 0
end match_ratio
这可以缩短为:
(locate(models, full_names) > 0) * char_length(models) / char_length(full_name)
这将为您提供一个介于0和1之间的数值,表示匹配比率。如果你想要一个百分比,你可以乘以100/