我正在使用SQL Server 2008,如果用户输入ABCDEFGH
或ABCD-EFGH
等搜索字符串(例如记录),则需要编写一个应返回ABDEFGH
记录的查询类似于)。
我将如何实现这一目标?
答案 0 :(得分:2)
你需要使用某种editDistance算法,即Levenshtein距离,Jaro-Winkler距离来计算2个字符串之间的差异。
查看此线程以实现为udf的Levenshtein距离
你会像这样使用UDF(只是一个例子)
SELECT * FROM dbo.myTable
WHERE dbo.editDistance(mycol,@SearchString)<2