SQL SOUNDEX() 函数

SQL SOUNDEX() 函数

SQLSOUNDEX() 函数用于检索字符串值的 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 );

下面的查询显示了 ADDRESS 列的 Soundex 值,该列位于 Customers 表中。

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

输出

上述SQL查询生成以下输出 –

+----+----------+------------------+
| ID | NAME     | SOUNDEX(ADDRESS) |
+----+----------+------------------+
|  1 | Ramesh   | A5313            |
|  2 | Khilan   | D400             |
|  3 | kaushik  | K300             |
|  4 | Chaitali | M100             |
+----+----------+------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程