DIFFERENCE 函数 - Amazon Redshift

DIFFERENCE 函数

DIFFERENCE 函数比较两个字符串的美国 Soundex 代码。该函数返回 INTEGER,以指示 Soundex 代码之间匹配的字符数。

Soundex 代码是一个长度为四个字符的字符串。Soundex 代码表示单词的发音方式,而不是其拼写方式。例如,SmithSmyth 具有相同的 Soundex 代码。

语法

DIFFERENCE(string1, string2)

参数

string1

CHAR 字符串、VARCHAR 字符串或隐式计算为 CHARVARCHAR 类型的表达式。

string2

CHAR 字符串、VARCHAR 字符串或隐式计算为 CHARVARCHAR 类型的表达式。

返回类型

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 | +------------+

要比较字符串 AmazonAma 的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中有 2 个字符是相同的,所以该函数返回 2

SELECT DIFFERENCE('Amazon', 'Ama'); +------------+ | difference | +------------+ | 2 | +------------+

要比较字符串 Amazon+-*/%Amazon 的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中所有 4 个字符都是相同的,所以该函数返回 4。请注意,该函数会忽略第二个字符串中的无效字符 +-*/%

SELECT DIFFERENCE('Amazon', '+-*/%Amazon'); +------------+ | difference | +------------+ | 4 | +------------+

要比较字符串 AC/DCAy See Dee See 的 Soundex 值,请使用以下示例。因为字符串的 Soundex 值中所有 4 个字符都是相同的,所以该函数返回 4

SELECT DIFFERENCE('AC/DC', 'Ay See Dee See'); +------------+ | difference | +------------+ | 4 | +------------+