如何在mysql中拆分名称字符串?
例如:
name
-----
Sachin ramesh tendulkar
Rahul dravid
像firstname,middlename,lastname一样拆分名字
:
firstname middlename lastname
--------- ------------ ------------
sachin ramesh tendulkar
rahul dravid
最佳答案
我已将此答案分为两 (2) 种方法。第一种方法会将您的全名字段分为名字、中间名和姓氏。如果没有中间名,中间名将显示为 NULL。
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
If( length(fullname) - length(replace(fullname, ' ', ''))>1,
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1) ,NULL)
as middle_name,
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name
FROM registeredusers
第二种方法将中间名视为姓氏的一部分。我们只会从您的全名字段中选择名字和姓氏列。
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
TRIM( SUBSTR(fullname, LOCATE(' ', fullname)) ) AS last_name
FROM registeredusers
您可以使用 substr、locate、substring_index 等做很多很酷的事情。查看手册是否有一些真正的困惑。 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
关于mysql - 如何在mysql中拆分名称字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14950466/