如何从字符串中获取最后第二个单词

问题描述 投票:0回答:1

我试图按 FirstnameMiddleNameLastName 拆分字符串,但我在获取 MiddleName 时遇到问题。这是我的查询:

select
  SUBSTRING_INDEX(admin, ' ', 1) as 'FirstName',
  SUBSTRING_INDEX(admin, ' ', +1) as 'MiddleName',
  SUBSTRING_INDEX(admin, ' ', -1) as 'LastName'
FROM fullname

我的桌子

id 全名
1 金·保罗·D·埃尔西洛
2 列维·T·马尔克斯
3 布莱恩·W·史迈利

期望的输出

名字 中间名 姓氏
D 埃尔西洛
李维 T 马克斯
布莱恩 W 笑脸

我得到的结果

名字 中间名 姓氏
埃尔西洛
李维 李维 马克斯
布莱恩 布莱恩 笑脸
sql mysql
1个回答
1
投票
select
  SUBSTRING_INDEX(admin, ' ', 1) as 'FirstName',
  TRIM(TRAILING '.' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(admin, ' ', -2), ' ', 1)) as 'MiddleName',
  SUBSTRING_INDEX(admin, ' ', -1) as 'LastName'
FROM
  fullname
© www.soinside.com 2019 - 2024. All rights reserved.