SQL 截取字符串

2020-05-01 科技 114阅读

前面的分隔符取%,后面的分隔符是什么?就是说,以什么为分截取的依据?

没消息了?只好乱猜一下

假设你后面的特征是“0-9”或左圆括号“(”,那么可以这样:

SELECT 
left(
    substring(字段名,charindex('%',字段名)+1,len(字段名)) ,
    patindex('%[0-9(]%',substring(字段名,charindex('%',字段名)+1,len(字段名) )+'0' )-1
    )

说明:

先按你的方法截取%后面的字串,

然后再从左侧开始,截取到含有数字或左圆扩号的字符前面一个字符。

考虑到如果后面没有数字或扩号的情况,后面预加了0字符,这样当后面没有要求的字符时,会取百分号后面的所有字符。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com