首页 > 解决方案 > 如何使用 mySQL 中的代码将“名字姓氏”更改为“姓氏,名字”?

问题描述

数据位于salesreps 表中,我需要重新排列的列是名称。我需要通过创建子字符串重新排列名称列。需要任何和所有的帮助。谢谢!

标签: mysql

解决方案


一般来说,如果名字或姓氏可能包含多个单词,您的要求实际上可能非常复杂/不可能。考虑以下两个名称:

Jean Luc Picard
Jean-Claude Van Damme

在第一种情况下,Jean Luc是一个两个单词的名字,而在第二种情况下,Van Damme是一个两个单词的姓氏。

话虽如此,假设每个名字和姓氏始终只是一个单词,那么SUBSTRING_INDEX可以满足您的要求:

UPDATE yourTable
SET Name = CONCAT(SUBSTRING_INDEX(Name, ' ', -1), ' ', SUBSTRING_INDEX(Name, ' ', 1));

推荐阅读