Как обновить несколько строк с разными значениями в MySQL? - PullRequest
3 голосов
/ 18 марта 2010

У меня есть таблица с колонкой «А». Некоторые строки имеют 14 цифр для столбца «А», а некоторые - только 12. Мне нужно преобразовать все записи в 14 цифр. Тип данных varchar

Я хотел бы обновить все строки сразу (один запрос), добавив нули перед первой цифрой, чтобы такая запись, как 012345678910, стала 00012345678910.

Возможно ли сделать это одним запросом? Спасибо

Ответы [ 3 ]

5 голосов
/ 18 марта 2010

Это должно делать то, что вы хотите:

UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14
0 голосов
/ 18 марта 2010
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
0 голосов
/ 18 марта 2010

просто обновите все строки, длина которых равна 12, и добавьте '00'

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...