MariaDB SOUNDEX() 函数使用指南

在 MariaDB 中,SOUNDEX() 是一个内置的字符串函数,它返回表示给定字符串发音的 soundex 字符串。

SOUNDEX() 函数用来比较两个单词的发音是否相同。如果两个单词发音相同,则他们的 soundex 字符串是相同的。

MariaDB SOUNDEX() 语法

这里是 MariaDB SOUNDEX() 函数的语法:

SOUNDEX(string)

参数

string
必需的。一个字符串。

如果您未提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SOUNDEX'

返回值

MariaDB SOUNDEX(string) 函数返回表示字符串发音的 soundex 字符串。

标准的 soundex 字符串的长度为四个字符,但 SOUNDEX() 函数返回的字符串长度可能超过 4。如果您想获取标准的 soundex 字符串,您可以对 SOUNDEX() 函数的结果使用 SUBSTRING() 函数进行截取。

SOUNDEX(string) 函数只处理参数 string 中的字母,其他非字母字符将被忽略。

MariaDB SOUNDEX() 示例

让我们先看几个 SOUNDEX() 示例:

SELECT
    SOUNDEX('Hello'),
    SOUNDEX('World');

输出:

+------------------+------------------+
| SOUNDEX('Hello') | SOUNDEX('World') |
+------------------+------------------+
| H400             | W643             |
+------------------+------------------+

让我们看几个具有相同 soundex 的单词:

SELECT
    SOUNDEX('Dam'),
    SOUNDEX('Damn'),
    SOUNDEX('Too'),
    SOUNDEX('Two'),
    SOUNDEX('Color'),
    SOUNDEX('Colour')\G

输出:

   SOUNDEX('Dam'): D500
  SOUNDEX('Damn'): D500
   SOUNDEX('Too'): T000
   SOUNDEX('Two'): T000
 SOUNDEX('Color'): C460
SOUNDEX('Colour'): C460

虽然有些词发音相同,但是如果开头字母不同,则他们具有不同的 soundex 字符串。

SELECT
    SOUNDEX('Hole'),
    SOUNDEX('Whole'),
    SOUNDEX('Our'),
    SOUNDEX('Hour')\G

输出:

 SOUNDEX('Hole'): H400
SOUNDEX('Whole'): W400
  SOUNDEX('Our'): O600
 SOUNDEX('Hour'): H600

结论

在 MariaDB 中,SOUNDEX() 是一个内置的字符串函数,它返回表示给定字符串发音的 soundex 字符串。