在SQL Server 2012

时间:2016-08-09 04:34:44

标签: sql replace sql-server-2012 substring

我有一个字符串,如下所示,

@Text = ';AB =>ABX1;BC =>BXC2; CD =>CXD3;'

现在我需要将其减少到这个,

@Result = 'ABX1;BXC2;CXD3;'

所以我最终需要删除';''=>'之间的所有内容,或将其替换为''

有没有办法在SQL Server 2012中实现这一目标?

1 个答案:

答案 0 :(得分:0)

使用here中的一个拆分字符串:

declare @txt varchar(max)=';AB =>ABX1;BC =>BXC2; CD =>CXD3;';

;With cte
as
(select * from [dbo].[SplitStrings_Numbers](replace(@txt,'=>',''),';')
)
select 
stuff(
(select ';'+right(item,4) from cte c
where len(item)>0
for xml path('')),1,1,'')