mysql - MYSQL如何从String中获取最后第二个单词
问题描述
我正在尝试按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
我的桌子 | 编号 | 全名 | | -- | ----------------------| | 1 | 金保罗 D. Ercillo | | 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
推荐阅读
- kotlin - 使用数据类插入对象
- node.js - 使用客户端语言与数据库进行通信(如 node.js)是否安全?
- sorting - 如何根据名称中包含的数字对包含数千个项目的列进行升序排序?
- angular - 如何在 FormArray (Reactive Forms) 中使用 mat-autocomplete (Angular Material Autocomplete)
- html - 调整大小不移动到网格布局的中心
- listview - 值不能为空。参数名称:fieldType
- c# - Unity 3D 或其他图形库 - 如何创建三坐标相机?
- excel - 为单元格中的每个字符分配特定值并在 Excel 中求和
- sql - Oracle 两个日期字段之间的平均差异
- javascript - 检查是否从网页浏览器安装了 android 应用程序