MySQL SOUNDEX() 函数使用指南

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

SOUNDEX() 语法

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

SOUNDEX(string)

参数

string
必需的。一个字符串。

返回值

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

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

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

SOUNDEX() 示例

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

SELECT
    SOUNDEX('HelloWorld'),
    SOUNDEX('World')\G
SOUNDEX('Hello'): H400
SOUNDEX('World'): 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