MySQL에서 다른 값으로 여러 행을 업데이트하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2466588

  •  20-09-2019
  •  | 
  •  

문제

'a'열이있는 테이블이 있습니다. 일부 행에는 열에 14 자리 숫자가 있고 일부 행에는 12 자리가 12 개 밖에 없습니다. 모든 항목을 14 자리로 변환해야합니다. 데이터 유형은 Varchar입니다

첫 번째 숫자 전에 012345678910과 같은 항목이 00012345678910이됩니다.

하나의 단일 쿼리로 수행 할 수 있습니까? 감사

도움이 되었습니까?

해결책

이것은 당신이 원하는 것을해야합니다.

UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14

다른 팁

길이가 12 인 모든 행을 업데이트하고 '00'을 선불로 업데이트하십시오.

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top