2014-09-06 180 views
0

我有一個字符串,現在我想要替換字符串之間的逗號。從字符串中刪除字符

Declare @Query nvarchar(max) 
Set @Query = 'Item1,Item2,"Item,Demo,3",New' 

從給定的字符串我想從雙引號( 「」)

我想造成這樣的

'Item1,Item2,ItemDemo3,New' 

下面這個"Item,Demo,3"部分現在ItemDemo3

回答

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)) 

請讓我知道它是否工作..

+2

它給'項目1 ,項目2, 「ItemDemo3」,New'。該OP要'Item1,Item2,ItemDemo3,新' – 2014-09-06 10:13:50

+0

謝謝阿馬爾,我已經更新的答案刪除報價也.. – masum7 2014-09-06 10:17:59

+0

Yw。現在它工作正常。 :) – 2014-09-06 10:20:44