2010-04-20 3 views
2

페이지 제목이 들어있는 열이 있습니다.이 열의 끝에는 웹 사이트 이름이 추가됩니다. (예 : 제품 이름 | 회사 이름) "회사 이름"을 삭제하고 싶습니다. 동시에 여러 행에서. 어떤 SQl 쿼리 명령 (또는 쿼리 자체)이이 작업을 수행 할 수 있습니까?SQL의 여러 데이터베이스 행에서 특정 문자열 제거

다시 설명하기 위해 다음과 같이 1 열의 여러 행을 변환하려고합니다. 제품 이름 | 회사 명 Inc.는이에

: 당신은 (SQL Server의) 같은 것을 의미

답변

1

제품 이름 : '|'기본적으로

Update Table 
Set PageTitle = Substring(PageTitle, 1, CharIndex('|', PageTitle) - 1) 

, 나는 (구분 기호를 찾을 수 CHARINDEX을 사용하고 있습니다) 그리고 하위 문자열을 사용하여 구분 기호 바로 앞의 모든 항목을 찾습니다. MySQL의에서

나는이의 라인을 따라 것입니다 믿습니다

Update Table 
Set PageTitle = Substring(PageTitle, 1, Substring_Index(PageTitle, '|') - 1) 
+0

내가 바보 느낌, 난 그냥 대체 기능에 대한 기억, 여기에 내가 무슨 짓을했는지. SET PageTitle = replace (페이지 제목, '| Company Name Inc.', ''); – Scott

+0

@Scott - Ah. 나는 "| Company Name Inc." 리터럴 정적 텍스트가 아닌 이름에 대한 자리 표시 자입니다. – Thomas

관련 문제