请教 mysql 截取的问题

2020-05-04 19:16:04 +08:00
 baiduyixia

update xx set content=substring_index(content,"指定字符",-1)
截取到的是在 content 里从右数到左边遇到第一个“指定字符”,然后保留该字符后面的内容,
请教,如何截取,从左到右时第一个“指定字符”,然后保留该字符后面的内容? 谢谢

778 次点击
所在节点    问与答
6 条回复
baiduyixia
2020-05-04 19:20:13 +08:00
比如字段里面的内容是:1,2,3,4,5 和 1,2,3 我想得到 2,3,4,5 和 2,3
zhuangjia
2020-05-04 19:36:55 +08:00
baiduyixia
2020-05-04 19:48:56 +08:00
@zhuangjia 不行哦,是从左到右时第一个“指定字符”,然后保留该字符后面的内容,是该字符后面的内容而不是前面
zhuangjia
2020-05-05 10:14:06 +08:00
@baiduyixia 对哦,是我搞错了,那就组合起来处理好了
substring_index('1,2,3,4,5', CONCAT(substring_index('1,2,3,4,5',',',1), ','), -1)
或者
substring('1,2,3,4,5', (LOCATE(',', '1,2,3,4,5') + CHAR_LENGTH(',')))
baiduyixia
2020-05-05 19:22:33 +08:00
@zhuangjia 还是不行唉,您的意思是:update 表 xx set content=substring_index('content', CONCAT(substring_index('content','指定字符',1), '指定字符'), -1)
这样出来 content 内容直接变成 content 这个英文单词了
zhuangjia
2020-05-06 11:56:49 +08:00
@baiduyixia
update xxx set content = substring_index(content, CONCAT(substring_index(content,指定字符,1), 指定字符), -1);
注意是否有单引号或双引号。用 字段名 时就不需要加引号了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/668500

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX