我要删除变量中的任意一个逗号间的数字,并保持变量个格式不变,即每个数值之间都有一个逗号间隔
比如我要删除12,则删除后的结果要为@a="132,125,235,1244,234,23"
假如我要删除23,则删除后的结果要为@a="132,125,12,235,1244,234"
请问这个sql怎么写好呢?夲人的sql很菜写不出来,请高手帮忙啊!谢谢!!!
10 个解决方案
#1
C#可以实现, 用切割字符串的办法,然后移除要删除的字符串,最后再执行SQL语句
#2
怎么感觉 像正则呢?
帮顶 吧
帮顶 吧
#3
我想直接在sql里处理啊,这样的话,就高效很多啦
#4
declare @a nvarchar(500)
declare @repcha nvarchar(10)
set @repcha = '12'
set @a='132,125,12,235,1244,234,23'
if (substring(@a,len(@a),1)<>',') set @a=@a+','
set @a =replace(@a,@repcha+',','')
if (substring(@a,len(@a),1)=',') set @a=substring(@a,0,len(@a))
print @a
#5
declare @a varchar(100)
set @a='132,125,12,235,1244,234,23'
set @a=replace(','+@a+',',',23,',',')
set @a=right(left(@a,len(@a)-1),len(@a)-2)
print @a
#6
GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!
o(∩_∩)o...哈哈
#7
也是很GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!
o(∩_∩)o...哈哈,不知道以上两位高手的算法谁的更准确更效率呢?我采用谁的好呢???
#8
仔细看过了,感觉还是剪子大哥的方法更准确些啊,o(∩_∩)o...
#9
似乎问题已经解决了..
来晚了.呵呵.
来晚了.呵呵.
#10
#1
C#可以实现, 用切割字符串的办法,然后移除要删除的字符串,最后再执行SQL语句
#2
怎么感觉 像正则呢?
帮顶 吧
帮顶 吧
#3
我想直接在sql里处理啊,这样的话,就高效很多啦
#4
declare @a nvarchar(500)
declare @repcha nvarchar(10)
set @repcha = '12'
set @a='132,125,12,235,1244,234,23'
if (substring(@a,len(@a),1)<>',') set @a=@a+','
set @a =replace(@a,@repcha+',','')
if (substring(@a,len(@a),1)=',') set @a=substring(@a,0,len(@a))
print @a
#5
declare @a varchar(100)
set @a='132,125,12,235,1244,234,23'
set @a=replace(','+@a+',',',23,',',')
set @a=right(left(@a,len(@a)-1),len(@a)-2)
print @a
#6
GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!
o(∩_∩)o...哈哈
#7
也是很GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!GOOD!
o(∩_∩)o...哈哈,不知道以上两位高手的算法谁的更准确更效率呢?我采用谁的好呢???
#8
仔细看过了,感觉还是剪子大哥的方法更准确些啊,o(∩_∩)o...
#9
似乎问题已经解决了..
来晚了.呵呵.
来晚了.呵呵.