Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL将一个子字符串与另一个字符串进行比较,如果匹配,则获取匹配百分比_Mysql_Sql_Database_String_Select - Fatal编程技术网

MySQL将一个子字符串与另一个字符串进行比较,如果匹配,则获取匹配百分比

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

如果我在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(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/