DIFFERENCE 函数
DIFFERENCE 函数比较两个字符串的美国 Soundex 代码。该函数返回 INTEGER
,以指示 Soundex 代码之间匹配的字符数。
Soundex 代码是一个长度为四个字符的字符串。Soundex 代码表示单词的发音方式,而不是其拼写方式。例如,Smith
和 Smyth
具有相同的 Soundex 代码。
语法
DIFFERENCE(string1, string2)
参数
- string1
-
CHAR
字符串、VARCHAR
字符串或隐式计算为CHAR
或VARCHAR
类型的表达式。 - string2
-
CHAR
字符串、VARCHAR
字符串或隐式计算为CHAR
或VARCHAR
类型的表达式。
返回类型
- INTEGER
-
DIFFERENCE 函数返回 0–4 之间的一个
INTEGER
值,该值计算两个字符串的美国 Soundex 代码中匹配字符的数量。Soundex 代码具有 4 个字符,因此,当字符串的所有 4 个字符的美国 Soundex 代码值都相同时,DIFFERENCE 函数返回4
。如果两个字符串中有一个为空,则 DIFFERENCE 返回0
。如果两个字符串都不包含有效字符,则此函数返回1
。DIFFERENCE 函数仅转换英文字母小写或大写 ASCII 字符,包括 a–z 和 A–Z。DIFFERENCE 将忽略其他字符。
示例
要比较字符串 %
和 @
的 Soundex 值,请使用以下示例。因为这两个字符串都不包含有效字符,所以此函数返回 1
。
SELECT DIFFERENCE('%', '@');
+------------+ | difference | +------------+ | 1 | +------------+
要比较 Amazon
和一个空字符串的 Soundex 值,请使用以下示例。因为两个字符串中有一个是空的,所以该函数返回 0
。
SELECT DIFFERENCE('Amazon', '');
+------------+ | difference | +------------+ | 0 | +------------+
要比较字符串 Amazon
和 Ama
的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中有 2 个字符是相同的,所以该函数返回 2
。
SELECT DIFFERENCE('Amazon', 'Ama');
+------------+ | difference | +------------+ | 2 | +------------+
要比较字符串 Amazon
和 +-*/%Amazon
的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中所有 4 个字符都是相同的,所以该函数返回 4
。请注意,该函数会忽略第二个字符串中的无效字符 +-*/%
。
SELECT DIFFERENCE('Amazon', '+-*/%Amazon');
+------------+ | difference | +------------+ | 4 | +------------+
要比较字符串 AC/DC
和 Ay See Dee See
的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中所有 4 个字符都是相同的,所以该函数返回 4
。
SELECT DIFFERENCE('AC/DC', 'Ay See Dee See');
+------------+ | difference | +------------+ | 4 | +------------+