MySQL 데이터베이스를 업데이트해야합니다. 라는 열이있는 학교 테이블이 있습니다 name
. 일부 학교 이름은 특정 단어를 축약합니다. 예 : "SCHOOL"은 "SCH"로 축약됩니다. 모든 "SCH"항목을 "SCHOOL"로 바꾸고 싶습니다. SQL에서 이미 다음 UPDATE 명령을 사용했습니다.
UPDATE `schools`
SET `name` = replace(`name`, ' SCH ', ' SCHOOL ')
훌륭하게 작동했지만 "SCH"뒤에 공백이 없어서 업데이트되지 않은 "SCH"로 끝나는 데이터베이스에 많은 학교가 있습니다. "JOHN SCHULTZ HIGH"와 같은 문자열을 "JOHN SCHOOLUTZ HIGH"로 바꾸지 않고이 후행 "SCH"문자열을 모두 바꾸려면 어떻게해야합니까? 열에서 값의 끝을 나타내는 문자가 있습니까? 예 :
UPDATE `schools`
SET `name` = replace(`name`, ' SCH<END>', ' SCHOOL')
여기서는 해당 열의 값에서 SCH 뒤에 더 이상 문자가 없음을 나타냅니다. 도움에 미리 감사드립니다!
'JOHN SCHULTZ SCH'의 마지막 SCH 만 교체하고 싶기 때문에 문제입니다.
두 가지 가능성 첫 번째는 마지막 SCH에만 적용됩니다.
UPDATE schools
SET name = left(name, length(name) - 4)
where name like '% SCH';
두 번째는 모든 SCH에서 작동합니다.
UPDATE schools
SET name = trim(replace(concat(name, ' '), ' SCH ', ' SCHOOL '));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다