mysql - MySQL:从字符串(或 varchar 字段)中提取第一个、第二个和第三个单词
问题描述
如何在MySQL的 varchar 字段中提取第一个和第二个单词?
解决方案
只需使用 SUBSTRING_INDEX(官方 MySQL 文档,官方 MariaDb 文档)
SELECT Substring_index(`sentence`, ' ', 1) AS first_word,
Substring_index(Substring_index(`sentence`, ' ', 2), ' ', -1) AS second_word,
Substring_index(Substring_index(`sentence`, ' ', 3), ' ', -1) AS third_word
FROM `test`
https://www.db-fiddle.com/f/iSGActpsMNzhZe13W2QA3q/1
使用此解决方案也可以使其更通用:
SET @N = 3; --3rd word
SET @delimiter = ' ';
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(`sentence`, @delimiter, @N), @delimiter, -1)
FROM
`test`;
推荐阅读
- amazon-web-services - Cloudfront 发行版不考虑缓存控制标头
- mediawiki - 来自其他语言维基百科的链接文件
- javascript - Android chrome:按下图标时避免键盘隐藏
- python - 这个堆积条形图出了什么问题?
- qt - QT:QGraphicsView 不从内部循环更新
- mongodb - Mongo根据字段删除对象数组中的重复项
- java - 在服务中使用 ViewModel
- android - 如何使用 Android 上导航栏上方的空间?
- swift - 如何按可能为 nil 的键进行分组并获取具有非可选键类型的字典?
- python - 比较不同列中的两条数据时,Pandas if 语句连接字符串错误