0

특정 문자 다음에 제거하는 방법을 찾았지만 SQL DEV 2012에서 특정 단어 다음에 제거 할 수있는 방법은 무엇입니까? SQL 특정 varchar 값 또는 단어 다음에 오는 모든 항목 제거

난을 MyTable라는 테이블이 있다고 가정 해이 열은

내 이름은이 부분을 제거 할 필요가있는 개발자 피터 포함 MyTextColumn이다. 이 '베드로에게 개발자'를 발견하면

그래서 베드로에게 개발자 및 다음 그것의 나머지입니다 남아있는 유일한을 제거

감사

UPDATE MyTable 
SET MyText = LEFT(MyText, CHARINDEX(';', MyText) - 1) 
WHERE CHARINDEX(';', MyText) > 0 

업데이트 '내 이름은'

내 질문이 의미 업데이 트를 제거하는 것이었기 때문에 여기에서 내가 만든 응답이 작동하도록 만들었습니다. 당신이 모든 것을 제거하고 그냥 "내 이름은"계속 기대한다면

update myTable 
set myTextColumn = SUBSTRING(myTextColumn , 0 , CHARINDEX('Peter the developer', myTextColumn, 0)) 
where ID = 2 

답변

0

정확하게 확실하지 당신이 계속해야 할 경우

declare @Word varchar(100)='My Name is Peter the Developer this part needs to be removed' 
declare @Match varchar(100)='Peter the Developer' 

SELECT SUBSTRING(@Word , 0 , CHARINDEX(@Match, @Word, 0)) 

다음과 같이 할 수있는, 예상되는 결과

것입니다

declare @Word varchar(100)='My Name is Peter the Developer this part needs to be removed' 
declare @Match varchar(100)='Peter the Developer' 
declare @len int 

set @len = LEN(@Match) 

SELECT SUBSTRING(@Word , 0 , CHARINDEX(@Match, @Word, 0)[email protected]) 
+0

가 다운 투표를하십시오 설명? –

+0

이것은 지금까지 최고의 답변이었습니다. 누가 투표했는지 모르겠다. ... – NoviceDeveloper

1

"내 이름은 베드로는 개발자입니다"
declare @Seed nvarchar(32) = 'is ' 
declare @String nvarchar(128) = 'My Name is Peter' 

select Left(@String,PATINDEX('%'[email protected]+'%',@String)+len(@seed)) 

이 같은

declare @Seed nvarchar(32) = ';' 

UPDATE MyTable 
SET MyText = Left(MyText,PATINDEX('%'[email protected]+'%',MyText)+len(@seed)) 
WHERE PATINDEX('%'[email protected]+'%',MyText) > 0 
+0

좋은 대안. 누군가 이미 응답했습니다. – NoviceDeveloper

1
DECLARE @text varchar(max) = 'My name is peter' 

UPDATE MyTable 
SET MyText = SUBSTRING(@text,0,CHARINDEX('peter',@text,0)) 

뭔가

을 도움이 될 것입니다 귀하의 경우는 '출력됩니다

내 이름은 당신이 charIndex에 사용할 수 있습니다

+0

큰 응답은 huMpty가 당신 바로 앞에 남겨 두었던 것과 비슷합니다. 감사합니다 – NoviceDeveloper

1

입니다 에 대한 것보다 더 찾는다. 그래서 전자 문자 :

select left(MyTextColumn,charindex('Peter the Developer',MyTextColumn,1)-1 
from 
MyTable 

SQL Fiddle

+0

바이올린을 주셔서 감사합니다, 그것은 매우 도움이되었지만 누군가가 펀치를 때렸습니다. – NoviceDeveloper

관련 문제