[英]How to change the structure of a name field in mysql
我有以下问题。
我的表称为tab1,其名称列如下“ LastName,FirstName”。 我要使其成为“ FirstName LastName”。
关于如何完成的任何想法? 请注意,这里没有逗号,但是我想一旦弄清楚如何实际翻转名字和姓氏,就可以轻松删除它。
任何帮助,将不胜感激。
谢谢。
substring
和substring_index
查找逗号并对其进行分割。 请参阅手册 。 用您的真实值替换@NAME:
SELECT TRIM(SUBSTR(@NAME, LOCATE(",", @NAME) + 1)) AS prename, TRIM(SUBSTR(@NAME, 1, LOCATE(",", @NAME) - 1)) AS surename
这将提取prename和surename部分,现在您可以根据需要插入/修改数据。
不能回答您的问题,但是在任何情况下我都不会这样做。 您将没有机会可靠地分辨出姓氏和名字。 考虑以下名称:
Bridget St John
Boutros Boutros Ghali
Karl-Theodor Maria Nikolaus Freiherr von und zu Guttenberg
我建议保留单独的“姓氏”和“名字”列。 您可以在输出时随意连接它们。
UPDATE table SET name2=CONCAT (TRIM(SUBSTR(name, LOCATE(",", name) + 1)), ' ', TRIM(SUBSTR(name, 1, LOCATE(",", name) - 1)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.