如何在MySQL中更新具有不同值的多行?

时间:2010-03-17 23:14:28

标签: mysql sql sql-update rows

我有一个列'A'的表。 有些行有14位数字用于“A”列,有些行只有12位。我需要将所有条目转换为14位数。数据类型为varchar

我想一次更新所有行(一个查询),在第一个数字之前添加零,所以像012345678910这样的条目将变为00012345678910。

是否可以在一个查询中执行此操作? 感谢

3 个答案:

答案 0 :(得分:5)

这应该做你想要的:

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

答案 1 :(得分:0)

只需更新长度为12的所有行,并在前面添加'00'

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12

答案 2 :(得分:0)

update table1 set columnA=concat('00',columnA) where char_length(columnA)=12