【问题标题】:MySQL Split String in ColumnMySQL 在列中拆分字符串
【发布时间】:2015-07-03 09:28:49
【问题描述】:

我在 mysql 表中有一个包含名称信息的列:

例如“Fred Barney Feuerstein”。

现在我需要拆分这个字符串来创建一个包含两列的视图——名字、姓氏。 我知道如何选择姓氏:

select (SUBSTRING_INDEX(name, ' ', -1)) as lastname from contacts;

但我不知道如何将所有其他信息提取到一个新字段。 我正在搜索的是类似于SUBSTRING_INDEX 的所有内容除了最后一个字段

【问题讨论】:

标签: mysql


【解决方案1】:
//First Item
SUBSTRING_INDEX(`name`, ' ', 1)), 1)

//Second Item
SUBSTRING_INDEX(SUBSTRING_INDEX(`name`, ' ', 2), ' ', -1)), 1)

每条评论

如何获得前两个名字...

substr(`name`, 1, (length(`name`) - length(SUBSTRING_INDEX((`name`), ' ', -1))-1));

【讨论】:

  • 谢谢 - 你是对的,但我需要定义最后一部分以及最后一部分不是因为这样的列:“Fred Barney Miller”“Michael Edgar Jason”“Christian Schmitz”在这些示例中,Fred Barney 是名字,Miller 是姓氏。但也可能有一些字段,名字只是一个名字。
  • 试试我的编辑...如果您需要帮助获取姓氏,请告诉我。如果我的答案是正确的,您可以通过单击我的答案左侧的复选标记来接受它。谢谢! :)
猜你喜欢
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 2013-10-25
  • 2011-09-03
  • 2014-02-18
相关资源
最近更新 更多