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
广告