我试图按 Firstname、MiddleName 和 LastName 拆分字符串,但我在获取 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 | 笑脸 |
我得到的结果
名字 | 中间名 | 姓氏 |
---|---|---|
金 | 金 | 埃尔西洛 |
李维 | 李维 | 马克斯 |
布莱恩 | 布莱恩 | 笑脸 |
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