如果用户输入“ABCD-EFGH”而不是“ABCDEFGH”,则SQL Query返回结果

时间:2012-09-13 22:43:03

标签: sql-server-2008 tsql search

我正在使用SQL Server 2008,如果用户输入ABCDEFGHABCD-EFGH等搜索字符串(例如记录),则需要编写一个应返回ABDEFGH记录的查询类似于)。

我将如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

你需要使用某种editDistance算法,即Levenshtein距离,Jaro-Winkler距离来计算2个字符串之间的差异。

查看此线程以实现为udf的Levenshtein距离

Levenshtein distance in T-SQL

你会像这样使用UDF(只是一个例子)

SELECT * FROM dbo.myTable
WHERE   dbo.editDistance(mycol,@SearchString)<2