大众信息网

SQL怎么截取一个字符串数字出现前的值

答案:2  mip版
解决时间 2021-03-04 09:23
  • 提问者网友:巴黎左岸
  • 2021-03-03 13:43
SQL怎么截取一个字符串数字出现前的值
最佳答案
  • 二级知识专家网友:甜甜少女心
  • 2021-03-03 14:30
select substring(aa,1,charindex('||',aa)-1) aa from A

charindex() --输出长度
substring() --截取
全部回答
  • 1楼网友:薯片软妹
  • 2021-03-03 14:38
declare @s nvarchar(200),@s0 nvarchar(20),@s1 nvarchar(200),@s2 nvarchar(200) set @s0='默认风格' set @s='默认风格|#007168|23|紫色风格|#e8d6fe|21|蓝色风格|#bad2fe|22' declare @r1 int,@r2 int if substring(@s,len(@s),1)<>'|' set @s=@s+'|' set @r1=charindex(@s0,@s) --文字开始位置 select @s1=substring(@s,@r1+len(@s0)+1,len(@s)) --文字+“|”以后的子串 set @r2=@r1+charindex('|',@s1)+len(@s0) --子串中第一个“|”相对于原串的起始位置 set @s2=substring(@s1,charindex('|',@s1)+1,len(@s1)) --第一个“|”后的子串 set @r2=@r2+charindex('|',@s2) print substring(@s,1,@r1-1)+substring(@s,@r2+1,len(@s)) 你可以把@s0改成任意的什么“风格”。 把这段代码修改一下,可以作成一个函数,把@s0和@s作为参数,最后的print作为返回值。
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯