SQL - SOUNDEX() 函式



SQL 的 SOUNDEX() 函式用於檢索字串值的 Soundex 字串。

它返回字串的 Soundex 值。Soundex 字串是一種基於英語發音的名稱索引演算法,一個字串的字串。兩個發音幾乎相同的字串應該具有相同的 Soundex 字串。標準的 Soundex 字串長度為四個字元。

SOUNDEX() 函式接受字串作為引數。如果我們將 NULL 值作為引數傳遞給此函式,它將返回 NULL 值。

注意 - 給定字串中的所有非字母字元都將被忽略。A-Z 範圍之外的所有國際字母字元都被視為母音。

語法

以下是 SQL SOUNDEX() 函式的語法 -

SOUNDEX(exp)

引數

  • exp - 它是將從中檢索 soundex 字串的表示式。

返回值

此函式返回 Soundex 字串。

示例

在以下示例中,我們使用 SOUNDEX() 函式檢索字串 “Hello World” 的 Soundex 字串。

SELECT SOUNDEX('Hello World');

輸出

執行上述程式後,將產生以下輸出 -

+------------------------+
| SOUNDEX('Hello World') |
+------------------------+
| H4643                  |
+------------------------+

示例

以下是 SOUNDEX() 函式的另一個示例,我們嘗試檢索字串 “Tutorialspoint” 的 Soundex 字串。

SELECT SOUNDEX('TutorialsPoint');

輸出

以下是上述語句的輸出 -

+---------------------------+
| SOUNDEX('TutorialsPoint') |
+---------------------------+
| T642153                   |
+---------------------------+

示例

如果我們將數字值作為引數傳遞給此方法,則它將在輸出中返回空字串或 零 (0000)

在此程式中,我們將數字值 123212 傳遞給 SOUNDEX() 函式以檢索其 Soundex 字串。

SELECT SOUNDEX(123212);

輸出

上述 SQL 語句產生以下輸出 -

+-----------------+
| SOUNDEX(123212) |
+-----------------+
|     0000        |
+-----------------+

示例

如果我們將空字串 (“”) 傳遞給 SOUNDEX() 函式,則此函式將在輸出中返回空字串或 零 (0000)

SELECT SOUNDEX('');

輸出

執行上述查詢後,它會產生以下輸出 -

+-------------+
| SOUNDEX('') |
+-------------+
|             |
+-------------+

示例

在以下示例中,我們將 NULL 值作為引數傳遞給 SOUNDEX() 函式。

SELECT SOUNDEX(NULL);

輸出

以下是上述查詢的輸出 -

+------------------------------+
| SOUNDEX(NULL)                |
+------------------------------+
| NULL                         |
+------------------------------+

示例

您可以將表列作為引數傳遞給 SOUNDEX() 函式以檢索 Soundex 字串。假設我們使用 CREATE 語句建立了一個名為 Customers 的表,如下所示 -

CREATE TABLE CUSTOMERS(    
ID INT NOT NULL,    
NAME VARCHAR (20) NOT NULL,    
AGE INT NOT NULL,    
ADDRESS CHAR (25) ,    
SALARY DECIMAL (18, 2));

現在,讓我們使用如下所示的 INSERT 語句將四個記錄插入 Customers 表中 -

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );

以下查詢顯示 Customers 表的 ADDRESS 列的 Soundex 值 -

SELECT ID, NAME, SOUNDEX(ADDRESS) FROM CUSTOMERS;

輸出

上述 SQL 查詢生成以下輸出 -

+----+----------+------------------+
| ID | NAME     | SOUNDEX(ADDRESS) |
+----+----------+------------------+
|  1 | Ramesh   | A5313            |
|  2 | Khilan   | D400             |
|  3 | kaushik  | K300             |
|  4 | Chaitali | M100             |
+----+----------+------------------+
sql-string-functions.htm
廣告