猿问

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

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

我有个桌子membername它同时包含用户的姓和名。能把它们分成两个字段吗?memberfirstmemberlast?

所有记录都具有“FirstName LastName”格式(没有引号和中间有空格)。


慕桂英4014372
浏览 1621回答 3
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     );
随时随地看视频慕课网APP
我要回答