我发现ID从此开始;
UPDATE wp_users
SET Name = REPLACE(Name, '.',' ')
,但后来我没有意识到我只能指定它只能影响的一个列,即 display_name 列,首先我需要替换''。使用a(空间),然后我想用a替换为A,或者假设是重复的SQL,都大写每个单词的首字母。
我将mysql与wordpress一起使用
摘要:数据当前是:
**display_name**
joe.bloggs
sally.sue
timmy.turner
我需要让它成为:
**display_name**
Joe Bloggs
Sally Sue
Timmy Turner
mySQL对这些事情真的很糟糕。我使用底带索引,左,右和一些串联来进行以下操作。看起来有点丑陋,但有效。它不会适用于名称,例如van.der.sar
SELECT CONCAT_WS(' ',
CONCAT(
UCASE(LEFT(SUBSTRING_INDEX('john.doe','.',1),1)),
RIGHT(SUBSTRING_INDEX('john.doe','.',1),length(SUBSTRING_INDEX('john.doe','.',1))-1)
),
CONCAT(
UCASE(LEFT(SUBSTRING_INDEX('john.doe','.',-1),1)),
RIGHT(SUBSTRING_INDEX('john.doe','.',-1),length(SUBSTRING_INDEX('john.doe','.',-1))-1)
)
)
因此您的更新脚本应该像下面的
Update wp_users set name = CONCAT_WS(' ',
CONCAT(
UCASE(LEFT(SUBSTRING_INDEX(name,'.',1),1)),
RIGHT(SUBSTRING_INDEX(name,'.',1),length(SUBSTRING_INDEX(name,'.',1))-1)
),
CONCAT(
UCASE(LEFT(SUBSTRING_INDEX(name,'.',-1),1)),
RIGHT(SUBSTRING_INDEX(name,'.',-1),length(SUBSTRING_INDEX(name,'.',-1))-1)
)
)