TSQL

2013-04-02 4 views
0

에 문자열의 일부를 제거하는 방법 완전히 끈 다음TSQL

에서 특정 부분을 제거하는 방법에 나를 인도 해주십시오 나의 문자열입니다. 나는 다음을 시도했다. 그러나 그것은 나를 위해 일하지 않는다. 그리고 이유는 ## 부분이 동적이기 때문이다.

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),''),'#','') 

결과 : - 귀하의 string

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

select stuff(@S, 
      charindex('#', @S), 
      charindex('#', @S, charindex('#', @S) + 1) - charindex('#', @S) + 1, 
      '') 
당신이 #...# 같은 하나 개의 패턴이있는 경우

Hello How Are You. 

위의 솔루션은 잘 작동합니다

0

시도해주세요 :

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

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