在python中,有一个不错的内置函数,可让我检查两个字符串的序列之间的差异。下面的示例:
from difflib import SequenceMatcher
def similar(a, b):
return SequenceMatcher(None, a, b).ratio()
示例:
similar("Apple","Appel")
0.8
similar("Apple","Mango")
0.0
SQL中是否有等效功能?
我需要做的是在一个列上联接两个表。在表A上,此列是他们的实际帐户号,在另一张表上,该列是用户添加他们的帐户号,这不是必填字段,因此,我注意到他们的实际帐户号略有不同。
表A
account_num Name
5WWW55 John
DDDDD7 Jacob
SSSSX7 jingleheimer
表B
account_num Name
5WWW55 John
3SSSX7 jingleheimer -- First character is different
Select Table_A.account_num,
Table_b.Name
FROM Table_A
JOIN TABLE_B
on Table_A.account_num = Table_B.account_num
预期输出:
account_num Name
5WWW55 John
SSSSX7 jingleheimer
答案 0 :(得分:2)
您可以使用DIFFERENCE
:
SELECT Table_A.account_num,
Table_b.Name
FROM Table_A
JOIN TABLE_B
ON DIFFERENCE(Table_A.account_num , Table_B.account_num) = 4;
答案 1 :(得分:0)
Levenshtein距离可能是您想要的。我以前曾用它来比较SQL Server中字符串之间的相似性。