2

在 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
4

2 回答 2

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;

db<>小提琴

于 2018-12-14T19:36:07.053 回答
0

Levenshtein 距离可能是您正在寻找的。我以前用它来比较 SQL Server 中字符串之间的相似性。

于 2018-12-14T21:30:45.553 回答