您的位置:首页 > 数据库 > MySQL

mysql 将一个字符串按某个字符串出现的最后一次位置来拆分成两个字符串

2014-03-06 13:02 211 查看
例如:将rocky_bbs_notes表中的content按<br>=========================================<br>字符串进行分割,并从最后一次出现的位置开始分割。

SELECT * from (SELECT reverse(SUBSTRING(reverse(content),LOCATE('>rb<=========================================>rb<',reverse(content)))) s1,

reverse(SUBSTR(reverse(content) FROM 1 FOR LOCATE('>rb<=========================================>rb<',reverse(content))-1)) s2

from rocky_bbs_notes

WHERE CONTENT like '%<br>=========================================<br>%') t WHERE t.s1 like '%<br>=========================================<br>%';

实现原理:

1、利用reverse()函数将字符串反过来

2、将反过来的字符串查找第一次出现>rb<=========================================>rb<的位置

3、根据上面得到的位置再利用substring()来截取前面部分和后面部分,最后再利用reverse()反过来就得到了需求的两个字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐