2010-03-26 3 views

답변

1

데이터베이스에서 문자열을 수정하는 것은 일반적으로 번거롭기 때문에이를 처리하는 가장 좋은 방법은 관심있는 단어가 포함 된 모든 행을 찾아 선택한 다음 원하는 언어로 대체하도록하는 것입니다 , 교체 된 문자열로 데이터베이스에 다시 행을 갱신하십시오. 제목에서 알 수 있듯이 당신은 단지 세 글자 단어를 찾으려면

SELECT * 
FROM table1 
WHERE Title RLIKE '[[:<:]]ceo[[:>:]]' 
    OR Title RLIKE '[[:<:]]vp[[:>:]]' 
    OR ... 

다음이를 사용 : 당신이이 regular expression 사용할 수있는 SQL 부분의 경우

WHERE Title RLIKE '[[:<:]][[:alpha:]]{3}[[:>:]]' 
+0

지금 교체하는 것이 어려울 수도 있습니다. 빠른 솔루션 btw 주셔서 감사합니다. – ThinkCode

1
UPDATE roles SET 
title = UPPER(title) 

3 글자 요구 사항에 대해 혼란 스럽습니다. "Vp"가 왜 대문자가되지 않습니까? 당신은 각각 3 글자로 된 단어를 해당 쿼리를 수행해야합니다

UPDATE roles SET 
title = REPLACE(title, 'Ceo', 'CEO') 

: 아래의 코멘트에 대한 응답으로

WHERE LENGTH(title) = 3 

편집

: 당신이 정말 필요합니다.

+0

제목 다양한 수 있습니다 단어, 3 문자로 된 모든 제목이 아닙니다. 예를 들어, [CEO, Vp Business, Cfo] -이 특정 타이틀에서 Cfo, Ceo 및 Vp 만 자본화하려면 어떻게해야합니까? 나는 내가 돌봐야 할 수천 권의 책이있다. 고맙습니다. – ThinkCode

+0

직접 교체가 작동하지 않을 수 있습니다. 예를 들어 'cio'는 더 큰 단어의 일부로 발견 될 수 있습니다. –

관련 문제