将全名分为名字和姓氏 MySQL

Posted

技术标签:

【中文标题】将全名分为名字和姓氏 MySQL【英文标题】:seperate full name into first name and last name MySQL 【发布时间】:2020-09-16 13:06:49 【问题描述】:

我开始学习软件开发的第一年,有一个我无法解决的问题,很遗憾,由于冠状病毒,我下周不能问老师。 我有一个全名表,我需要将它们分成名字和姓氏 我找到了一些使用SUBSTRING_INDEX 的解决方案,但我还没有在任何地方对此感到担忧。 我不知何故找到了一种获得姓氏的方法,但我就是无法完成名字。 这就是我的姓氏:

SELECT RIGHT(name, LENGTH(name) - INSTR(name, " ")) AS lastname FROM student;

有没有人可以帮助我解决这个问题? 提前致谢

【问题讨论】:

获得名字比获得姓氏更容易。它是全名直到空格 (' ') 的部分。 【参考方案1】:

使用substring_index():

select substring_index(name, ' ', 1) as first_name,
       substring_index(name, ' ', -1) as last_name

假设名称只有两部分。

【讨论】:

【参考方案2】:

使用SUBSTRING_INDEX 将第一个空格左侧的所有内容作为一个值,将第一个空格之后的所有内容作为另一个值:

SELECT substring_index(name, ' ', 1) AS firstname,
       substring_index(name, ' ', -1) AS lastname

【讨论】:

以上是关于将全名分为名字和姓氏 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

如何通过在 ios 中结合个人实体的名字和姓氏来对全名应用谓词

html 显示当前用户名字/姓氏/全名/电子邮件/公司

PHP - 搜索名字和全名

快速更新键盘预测栏建议

SQL - 连接全名,只有在姓氏存在时才有空格

使用 PDO 和 PHP 将表单中的数据插入 MySQL 数据库