postgresql更新行到固定的数字

时间:2016-07-28 06:08:25

标签: sql postgresql append

我是sql查询的初学者,我正在尝试更新我的行:

1 ---> 0001

15 - > 0015

254 - > 0254

1458 - > 1458

我的专栏类型是文字,有很多专栏,所以我无法处理

update table1 set col1 = 0001 where col1 = 1;

依旧......

这似乎是一个简单的问题,但经过研究,我找不到解决方案。我需要的只是

foreach row in col1
if((int)row>0 and < 10)
then row = "000" + row;

所有文本都是整数值,但我必须将它们保留为文本。什么是上面代码的SQL查询?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用lpad()功能:

update table1
   set col1 = lpad(col1, 4, '0')
where length(col1) < 4;

但真正的问题是:为什么要将数字存储为文本值?这几乎总是一个糟糕的选择。