我是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查询?
由于
答案 0 :(得分:2)
您可以使用lpad()
功能:
update table1
set col1 = lpad(col1, 4, '0')
where length(col1) < 4;
但真正的问题是:为什么要将数字存储为文本值?这几乎总是一个糟糕的选择。