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