为了账号安全,请及时绑定邮箱和手机立即绑定

将值从一个字段拆分为两个字段

将值从一个字段拆分为两个字段

慕桂英4014372 2019-06-20 17:25:17
将值从一个字段拆分为两个字段我有个桌子membername它同时包含用户的姓和名。能把它们分成两个字段吗?memberfirst, memberlast?所有记录都具有“FirstName LastName”格式(没有引号和中间有空格)。
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

选择变量(不创建用户定义的函数):

SELECT IF(
        LOCATE(' ', `membername`) > 0,
        SUBSTRING(`membername`, 1, LOCATE(' ', `membername`) - 1),
        `membername`
    ) AS memberfirst,
    IF(
        LOCATE(' ', `membername`) > 0,
        SUBSTRING(`membername`, LOCATE(' ', `membername`) + 1),
        NULL
    ) AS memberlastFROM `user`;

这一办法还考虑到:

  • 成员名

    没有空格的值

    :它将首先将整个字符串添加到UMERER中,并将Memberlast设置为NULL。
  • 成员名

    具有多个空格的值。

    它将第一个空格之前的所有内容添加到成员第一,其余的(包括额外的空格)添加到成员最后。

更新版本如下:

UPDATE `user` SET
    `memberfirst` = IF(
        LOCATE(' ', `membername`) > 0,
        SUBSTRING(`membername`, 1, LOCATE(' ', `membername`) - 1),
        `membername`
    ),
    `memberlast` = IF(
        LOCATE(' ', `membername`) > 0,
        SUBSTRING(`membername`, LOCATE(' ', `membername`) + 1),
        NULL
    );


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 1620 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信