日期:2014-05-17  浏览次数:20517 次

Replace替换问题。帮忙看下吧。
DECLARE @str VarChar(1000)
Set @str = '1,11,222,213,211,2341,342,34531'
Select Replace(@str,'213','')
-- 得到结果是:
1,11,222,,211,2341,342,34531
-- 我要的结果是:
1,11,222,211,2341,342,34531


就是替换后。多了个:逗号。

怕高手看不出来:
222,,211
222,211
------最佳解决方案--------------------
DECLARE @str VarChar(1000)
Set @str = '1,11,222,213,211,2341,342,34531'
Select stuff(Replace(','+@str,',213',''),1,1,'')

------其他解决方案--------------------
Select Replace(@str,',213','')
------其他解决方案--------------------

Replace(@str,'213,','')
------其他解决方案--------------------
DECLARE @str VarChar(1000)
Set @str = '1,11,222,213,211,2341,342,34531,'
Select Replace(@str,'213,','')


------其他解决方案--------------------
回复3楼的各位。。我也知道这么写。但是如果我的那个字段里面只有一个:213呢?
------其他解决方案--------------------
引用:
SQL code



123

DECLARE @str VarChar(1000) Set @str = '1,11,222,213,211,2341,342,34531'Select stuff(Replace(','+@str,',213',''),1,1,'')

谢谢。。