MySQL에서 다른 값으로 여러 행을 업데이트하는 방법은 무엇입니까?
-
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
제휴하지 않습니다 StackOverflow