Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL仅替换单列中的字符。乔·布洛格斯给乔·布洛格斯_Mysql_Sql_Replace - Fatal编程技术网

Mysql SQL仅替换单列中的字符。乔·布洛格斯给乔·布洛格斯

Mysql SQL仅替换单列中的字符。乔·布洛格斯给乔·布洛格斯,mysql,sql,replace,Mysql,Sql,Replace,我想我应该从这个开始 UPDATE wp_users SET Name = REPLACE(Name, '.',' ') 但后来我意识到,我无法指定我想影响的唯一一列,display_name列,首先我需要将“.”替换为“”(空格),然后我想用a替换a,或者假设有大量重复的SQL,将每个单词的第一个字母大写 我正在使用MySQL和wordpress 摘要:数据当前为: **display_name** joe.bloggs sally.sue timmy.turner 我需要让它成为: **

我想我应该从这个开始

UPDATE wp_users
SET Name = REPLACE(Name, '.',' ')
但后来我意识到,我无法指定我想影响的唯一一列,display_name列,首先我需要将“.”替换为“”(空格),然后我想用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)
            )           
           )

添加示例数据(不同的名称版本)和预期结果。以及格式良好的文本。添加马尔科姆·麦克道尔、柯南·奥布莱恩和卡尔·范德沃尔特怎么样?@jarlh和乔纳森·里斯·戴维斯对不起,我不知道这里发生了什么:p@jarlh@JohnHC,忘了那个,谢谢!很高兴能投票选出对你有帮助的答案:)