sql截取某些内容或符号之间的内容

2022-09-19 09:15:15

sql截取某些内容或符号之间的内容

#	substring(a,b,c) 3个参数,从a中截取,b开始位置,长度为c的字符串#	position(a in b) 获取字符串a在字符串b的位置SELECT substring(
列名,#截取的开始位置 结果要是想从子字符串开始就不要加子字符串长度(position('开始子字符串'in 列名)+ 子字符串长度),#截取的长度(
	position('结束子字符串'in 列名)-(position('开始子字符串'in 列名)+ 子字符串长度)))as afrom test

例:
有表截取<c></c>中间的内容
在这里插入图片描述
想把<c> </c> 中间的字符串取出来
**注:id为 3 的列中没有 c 标签,id为 5 的列 c 标签结束的在前面 **

SELECT substring(
content,(position('<c>'in content)+3),(
	position('</c>'in content)-(position('<c>'in content)+3)))as afrom testwhere position('<c>'in content)>0and position('</c>'in content)>0and(position('</c>'in content)-position('<c>'in content))>0

结果为: 没有3和5
在这里插入图片描述

  • 作者:用生命在耍帅ㅤ
  • 原文链接:https://blog.csdn.net/weixin_43583693/article/details/117084994
    更新时间:2022-09-19 09:15:15