
update xx set cOntent=substring_index(content,"指定字符",-1)
截取到的是在 content 里从右数到左边遇到第一个“指定字符”,然后保留该字符后面的内容,
请教,如何截取,从左到右时第一个“指定字符”,然后保留该字符后面的内容? 谢谢
1 baiduyixia OP 比如字段里面的内容是:1,2,3,4,5 和 1,2,3 我想得到 2,3,4,5 和 2,3 |
2 zhuangjia 2020 年 5 月 4 日 [function_substring-index]( https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring-index) 把 -1 改成 1 就可以了 |
3 baiduyixia OP @zhuangjia 不行哦,是从左到右时第一个“指定字符”,然后保留该字符后面的内容,是该字符后面的内容而不是前面 |
4 zhuangjia 2020 年 5 月 5 日 @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(','))) |
5 baiduyixia OP @zhuangjia 还是不行唉,您的意思是:update 表 xx set cOntent=substring_index('content', CONCAT(substring_index('content','指定字符',1), '指定字符'), -1) 这样出来 content 内容直接变成 content 这个英文单词了 |
6 zhuangjia 2020 年 5 月 6 日 @baiduyixia update xxx set cOntent= substring_index(cntent, CONCAT(substring_index(content,指定字符,1), 指定字符), -1); 注意是否有单引号或双引号。用 字段名 时就不需要加引号了 |