MySQL에서 열 값 앞에 문자열을 추가하는 방법은 무엇입니까?


123

기존 값 앞에 추가 할 문자열 "test"가있는 모든 행의 특정 필드를 업데이트하기위한 SQL 업데이트 문이 필요합니다.

예를 들어, 기존 값이 "try"이면 "testtry"가되어야합니다.

답변:


261

CONCAT 함수를 사용하여 수행 할 수 있습니다 .

UPDATE tbl SET col=CONCAT('test',col);

더 영리하고 아직 테스트가 추가되지 않은 열만 업데이트하려면

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';

16
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]

업데이트 TICKET set status_details = CONCAT (status _details, 'abc') where ticket_id = 75108; 오류 1583 (42000) : 네이티브 함수 'CONCAT'에 대한 호출의 잘못된 매개 변수
nirmesh khandelwal

9

MySQL의 많은 문자열 업데이트 함수는 다음과 같이 작동하는 것 같습니다. 하나의 인수가 null이면 연결 또는 다른 함수도 반환 null됩니다. 따라서 null값 으로 필드를 업데이트하려면 먼저 다음과 같이 null이 아닌 값으로 설정합니다.''

예를 들면 :

update table set field='' where field is null;
update table set field=concat(field,' append');

6

그것은 간단한 것입니다

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);

이미 test로 시작하는 열에 만 test를 연결하는 WHERE 절까지 수정하십시오. 그래서 : foo는 -> foo는 footest -> footest testfoo -> testtestfoo
유카 Dahlbom

0
  • UPDATE table_name SET Column1 = CONCAT ( 'newtring', table_name.Column1) 여기서 1
  • UPDATE table_name SET Column1 = CONCAT ( 'newtring', table_name.Column2) 여기서 1
  • UPDATE table_name SET Column1 = CONCAT ( 'newtring', table_name.Column2, 'newtring2') 여기서 1

테이블의 동일한 열 또는 다른 열을 연결할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.