2013-04-02 78 views
0

刪除字符串的一部分,請指導我如何徹底從一個字符串如何在TSQL

這裏刪除特定部分是我的字符串:

String greeting =Hello #World# How Are You. 

我想刪除#World#部分。我嘗試了以下方法,但它對我不起作用,原因在於##部分是動態的。

SELECT Replace(greeting, #World#, '') 

回答

0

試試這個: -

declare @greeting nvarchar(max) 
Set @greeting = 'Hello #World# How Are You.' 
Select replace(replace(@greeting,parsename(replace(replace(@greeting,'.','') ,'#','.'),2),''),'#','') 

結果: -

Hello How Are You. 

上述解決方案將正常工作,如果你在你的string

2
declare @S varchar(50) = 'Hello #World# How Are You.' 

select stuff(@S, 
      charindex('#', @S), 
      charindex('#', @S, charindex('#', @S) + 1) - charindex('#', @S) + 1, 
      '') 
有像 #...#只有一個模式
0

請嘗試:

DECLARE @STR VARCHAR(50) 
SET @Str = 'Hello #World# How Are You.' 

SELECT LEFT(@Str, CHARINDEX('#', @Str)-1)+ 
     RIGHT(@Str, CHARINDEX('#', REVERSE(@Str))-1)