刪除字符串的一部分,請指導我如何徹底從一個字符串如何在TSQL
這裏刪除特定部分是我的字符串:
String greeting =Hello #World# How Are You.
我想刪除#World#
部分。我嘗試了以下方法,但它對我不起作用,原因在於##
部分是動態的。
SELECT Replace(greeting, #World#, '')
刪除字符串的一部分,請指導我如何徹底從一個字符串如何在TSQL
這裏刪除特定部分是我的字符串:
String greeting =Hello #World# How Are You.
我想刪除#World#
部分。我嘗試了以下方法,但它對我不起作用,原因在於##
部分是動態的。
SELECT Replace(greeting, #World#, '')
試試這個: -
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
declare @S varchar(50) = 'Hello #World# How Are You.'
select stuff(@S,
charindex('#', @S),
charindex('#', @S, charindex('#', @S) + 1) - charindex('#', @S) + 1,
'')
有像
#...#
只有一個模式
請嘗試:
DECLARE @STR VARCHAR(50)
SET @Str = 'Hello #World# How Are You.'
SELECT LEFT(@Str, CHARINDEX('#', @Str)-1)+
RIGHT(@Str, CHARINDEX('#', REVERSE(@Str))-1)