SQL DIFFERENCE 函数

SQL Server 的 DIFFERENCE 字符串函数用于返回用户指定字符表达式的 SOUNDEX 值之间的差异。 DIFFERENCE 函数的语法是

SELECT DIFFERENCE (Character_Expression, Character_Expression)
FROM [Source]
  • Character_Expression:请指定有效的字符表达式。

此差异函数返回一个介于 0 到 4 之间的整数值,其中 0 表示无相似性,3 表示相似性更高,4 表示强相似性或相同。

SQL DIFFERENCE 示例

此函数查找两个字符表达式之间的差异。下面的查询将显示使用 difference 函数的多种方法。

DECLARE @Str VARCHAR(50)
SET @Str = 'SQL Server'

SELECT DIFFERENCE(@Str, 'SQL Server') AS 'SQL_Difference 1' 

SELECT DIFFERENCE(@Str, 'Server') AS 'SQL_Difference 2' 

SELECT DIFFERENCE(@Str, 'QL Server') AS 'SQL_Difference 3' 

SELECT DIFFERENCE(@Str, 'SQL Server tutorial') AS 'SQL_Difference 4' 

SELECT DIFFERENCE(@Str, 'SQ erv') AS 'SQL_Difference 5' 

SELECT DIFFERENCE(@Str, '123 456789') AS 'SQL_Difference 6'

在此 字符串函数 示例查询中,我们使用此函数查找变量 @Str 和 word 之间的 SOUNDEX 差异。

DIFFERENCE Function Example 1

DIFFERENCE 函数返回两个字符串的 SOUNDEX 值之间的差异。在此示例中,我们将返回字符表达式的 SOUNDEX 代码以及差异。我建议您参考 Server 中的 SOUNDEX 文章。

DECLARE @Str VARCHAR(50)
SET @Str = 'SQL Server Difference'

SELECT SOUNDEX(@Str) AS [Code 1],
       SOUNDEX('SQL Server') AS [Code 11],
	   DIFFERENCE(@Str, 'SQL Server') AS 'SQL_Difference 1' 

SELECT SOUNDEX(@Str) AS [Code 2],
       SOUNDEX('QL Server') AS [Code 22],
	   DIFFERENCE(@Str, 'QL Server') AS 'SQL_Difference 2' 

SELECT SOUNDEX(@Str) AS [Code 3],
       SOUNDEX('123 456789') AS [Code 33],
	   DIFFERENCE(@Str, '123 456789') AS 'SQL_Difference 3'