本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DIFFERENCE 函數
DIFFERENCE 函數會比較兩個字串的 American 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
的值,計算兩個字串的 American Soundex 程式碼中相符字元的數量。Soundex 程式碼有 4 個字元,因此當字串的 American Soundex 程式碼值的所有 4 個字元都相同4
時,DIFFERENCE函數會傳回。DIFFERENCE0
如果兩個字串之一為空,則傳回 。如果字串都不包含有效字元,該函數傳回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 值,請使用下列範例。該函數傳回 2
,因為字串的 Soundex 值的 2 個字元是相同的。
SELECT DIFFERENCE('Amazon', 'Ama');
+------------+ | difference | +------------+ | 2 | +------------+
若要比較字串 Amazon
和 +-*/%Amazon
的 Soundex 值,請使用下列範例。該函數傳回 4
,因為字串的 Soundex 值的所有 4 個字元都是相同的。請注意,函數會忽略第二個字串中的無效字元 +-*/%
。
SELECT DIFFERENCE('Amazon', '+-*/%Amazon');
+------------+ | difference | +------------+ | 4 | +------------+
若要比較字串 AC/DC
和 Ay See Dee See
的 Soundex 值,請使用下列範例。函數傳回 4
,因為字串的 Soundex 值的所有 4 個字元都相同。
SELECT DIFFERENCE('AC/DC', 'Ay See Dee See');
+------------+ | difference | +------------+ | 4 | +------------+