onu*_*nur 2 sql postgresql append
我是 sql 查询的初学者,我正在尝试像这样更新我的行:
1--->0001
15-->0015
254-->0254
1458-->1458
我的列的类型是文本并且有很多列所以我无法处理
update table1 set col1 = 0001 where col1 = 1;
Run Code Online (Sandbox Code Playgroud)
等等..
这似乎是一个简单的问题,但经过研究,我找不到解决方案。我所需要的只是
foreach row in col1
if((int)row>0 and < 10)
then row = "000" + row;
Run Code Online (Sandbox Code Playgroud)
所有文本实际上都是整数值,但我必须将它们保留为文本。上面代码的sql查询是什么?
谢谢
您可以使用该lpad()功能:
update table1
set col1 = lpad(col1, 4, '0')
where length(col1) < 4;
Run Code Online (Sandbox Code Playgroud)
但真正的问题是:为什么要将数字存储为文本值?这几乎总是一个糟糕的选择。
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |