2008-10-01 6 views
13

예를 들어 675381과 같은 6 자리 숫자의 사용자 이름 열이있는 사용자 테이블이 있습니다.이 사용자 이름 각각에 0을 추가해야합니다. 0675381은 이전 예제의 최종 출력물이 될 것입니다.이 문제를 처리 할 수있는 쿼리가 있습니까?각 항목에 문자를 앞에 추가하는 MySQL 쿼리

답변

27
UPDATE Tablename SET Username = Concat('0', Username); 
+0

감사합니다. 사용자 brian이 먼저 알아 냈습니다.하지만 추가하지 말고 추가로 말 했어야합니다. 이제 그는 자신의 게시물을 삭제 한 것 같습니다. 건배. – Stuart

+1

을 예로 들면 다음과 같습니다. 675381은 0675381이되어야합니다 – daniels

4

어떤 유형의 열입니까?

UPDATE your_table SET column_name=concat('0',column_name); 
+0

감사합니다. 대니얼스는 조금 더 빨랐습니다. – Stuart

1

당신은 "앞에 추가"를 의미 :이 문자열 유형 인 경우에

, 이런 식으로 뭔가를 시도? 즉 앞면에 추가 하시겠습니까?

열은 숫자입니까? 항상 7 자 출력을 원하십니까?

이 같은 쿼리 위해 일 것이라고 가정하면 열이 문자 인 경우

select LPAD(CONVERT(username, CHAR), 7, '0') 

의 CONVERT() 일부 단지 LPAD 사용자 이름, 불필요합니다.

테이블의 값을 영구적으로 수정하려면 위의 코드를 사용하여 열이 문자 유형이고 UPDATE인지 확인해야합니다.

+0

그래, 전 말로 표현하자면, daniels 솔루션이 완벽하기 때문에 단지 varchar 였을뿐입니다. 감사. – Stuart

0

null 값이있는 경우 '0'대신 NULL로 끝나기 때문에 CONCAT_WS ('', '0', 사용자 이름)를 사용할 수 있습니다. 이것은 아마도 문제가 아니지만 어려운 방법을 배웠습니다.

관련 문제