本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 個字元都相同時,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 值,請使用下列範例。該函數傳回 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 |
+------------+