将全名分为名字和姓氏 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的主要内容,如果未能解决你的问题,请参考以下文章