我有一个字符串,现在我想替换字符串之间的逗号。
Declare @Query nvarchar(max)
Set @Query = 'Item1,Item2,"Item,Demo,3",New'
从给定的字符串中我想从双引号之间删除逗号("")
我想要这样的结果
'Item1,Item2,ItemDemo3,New'
此处"Item,Demo,3"
部分现在ItemDemo3
答案 0 :(得分:1)
想法是使用PATINDEX来查找模式。 在这里,我使用patindex查找双引号,然后使用所需子字符串的开始和长度。 将有三个部分:之前,修改期望和之后
然后我替换了逗号并重新制作了字符串
Declare @Query nvarchar(max)
Set @Query = 'Item1,Item2,"Item,Demo,3",New'
Declare @start int, @len int
SELECT @start = PATINDEX('%"%"%', @Query) + 1
select @len=CHARINDEX('"', SUBSTRING(@Query, @start, LEN(@Query))) - 1
select
SUBSTRING(@Query, 1, @start - 2) +
REPLACE((SUBSTRING(@Query, @start, @len)), ',', '') +
SUBSTRING(@Query, @start + @len + 1, LEN(@Query))
请告诉我它是否有效..