我有一个列 'A' 的表。 有些行有列“A” 14位数字,有的只有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