开发者社区 问答 正文

如何在mysql中拆分名称字符串?

如何在mysql中拆分名称字符串?

例如:

name

Sachin ramesh tendulkar Rahul dravid 像这样分割名称firstname,middlename,lastname:

firstname middlename lastname


sachin ramesh tendulkar rahul dravid

展开
收起
保持可爱mmm 2020-05-10 20:08:11 448 分享 版权
1 条回答
写回答
取消 提交回答
  • 我将这个答案分为两种方法。第一种方法会将您的全名字段分为名字,中间名和姓氏。如果没有中间名,则中间名将显示为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/zh-CN/string-functions.html

    2020-05-10 20:08:21
    赞同 展开评论