最早需要帮助的人!
我有与我们交易的发货人姓名的重复记录...我想搜索输入错误的或在系统中输入错误的类似发货人姓名。
例如参数:ABC交易者
我需要返回的查询:
1. ABC , karachi , pakistan
2. ABCA , karachi , Pakistan
3. ABCA trader,karachi, Pakistan
4. AABC trd, karachi , pakistan
我想编写返回与输入数据非常相似的名称的查询。
这是示例查询假设数据集:
SELECT ROW_NUMBER() OVER(ORDER BY ii.Consignor_Name ASC) AS rn,
ii.ConsignorName AS cn,
ii.ConsignorAddress AS ca,
rc.CountryName AS cc
FROM Index AS ii WITH(NOLOCK)
INNER JOIN Countries AS rc WITH (NOLOCK)
ON ii.Consignor_CountryName = rc.CountryID
WHERE YEAR(ii.EntryDate) > 2017
AND ii.ConsignorName IS NOT NULL
GROUP BY
ii.ConsignorName,
ii.ConsignorAddress,
rc.CountryName
ORDER BY
ii.ConsignorName ASC,
我建议的逻辑:在SQL中使用Soundex功能,但是soundex有局限性...
来源:http://www.basistech.com/whitepapers/the-name-matching-you-need-EN.pdf
但是这种方法只在短文本中包含4到5个单词的字符串中的单词...
还有其他使用SQL预测准确数据的方法吗?一种执行模式匹配?
另一个输出类似于我要检查交易者的交易