从 mysql 中的数据列中检索 Soundex 代码

Retrieving Soundex Codes from a Data Column in mysql

是否可以在 SQL 中进行这样的查询:有一列包含名称,假设是 FirstName,您需要获取列中每个名称的 soundex 代码并写入将这些代码添加到 FirstNamesdx 列中?

你在尝试这样的事情吗:

CREATE TABLE test_tbl(
             first_name VARCHAR(50),
             FirstNamesdx VARCHAR(50)
                     );

insert into test_tbl(first_name) values ('Earbuds'),
                                        ('Phone'),
                                        ('Charger'),
                                        ('Data Cable'),
                                        ('Speakers');

然后您可以使用具有相同 table 的更新来获取所需的值:

update test_tbl a
inner join 
( select first_name, SOUNDEX(first_name) as soundex_first_name 
  from test_tbl
) as b
on a.first_name=b.first_name
set a.FirstNamesdx=b.soundex_first_name;

你有一个简单的方法:

update test_tbl
set FirstNamesdx= SOUNDEX(first_name);

演示:https://www.db-fiddle.com/f/pB6b5xrgPKCivFWcpQHsyE/8

结果: