我不得不比较两个大的数据表与客户的信息,唯一兼容的是客户的地址。但是人们也会犯打字错误。有没有一个函数可以比较字符串和兼容性procent?比如,如果table1.address 90%等于table2.address,那么它将返回true。
发布于 2014-05-28 18:43:00
您要查找的函数是字符串距离计算。据我所知,在MySQL (修复我)中没有内置的函数可以做到这一点。
一种广泛使用的算法是Levenshtein distance。此算法计算distance (必须进行更改计数才能使2个字符串相同)。你可以在Wikipedia上找到伪代码
下面是一个MySQL实现:http://openquery.com.au/blog/levenshtein-mysql-stored-function
这就是你要找的。
在数据库中创建函数后,可以将其用作WHERE条件或JOIN中ON子句的一部分。
以下是指向Levenshtein distance ratio http://falseisnotnull.wordpress.com/2013/05/18/levenshtein-and-levenshtein_ratio-functions-for-mysql/实现的链接
https://stackoverflow.com/questions/23906807
复制相似问题