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()反过来就得到了需求的两个字符串。
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()反过来就得到了需求的两个字符串。
相关文章推荐
- 统计一个字符串中某个字符第一次出现的位置和最后一次出现的位置
- [置顶] 在字符串中查找一个特定的字符最后一次出现的位置,并返回字符所在位置。
- [置顶] 在字符串中查找一个特定的字符最后一次出现的位置(即最右边那个)
- 截取mysql字符串最后一次出现的位置
- 如何取得字符在字符串中最后一次出现的位置?
- 查找一个字符串在另一个字符串中出现的所有位置
- 用lastIndexOf方法返回String对象内最后一次出现子字符串的字符位置的示例
- SysUtils.LastDelimiter - 判断一个字符串在另一个字符串中最后出现的位置
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:
- 获得子串在一个字符串中首次出现的位置
- 有n个长为m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接,问这n个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。
- PHP - Manual手册 - CLXI. String 字符串处理函数 - strpos查找一个字符串第一次出现的位置
- 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误
- mysql自定义函数实现统计一个字符串在另一个长字符串中出现的次数
- 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1
- Java查找指定字符串第一次或最后一次出现的位置
- C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。