我有以下问题。
ID存储在字段中,该字段声明为char(3)。
我想重写这个字段,并始终从001开始高一。 并将此值保存回char(3)。必须重新开启前导零。
此外,必须确定前一行的值。
这是一个外国软件,所以我必须忍受现实。
有人可以帮助我吗?
Old Value
char(3)
001
New Value
char(3)
001+1 = 002
UPDATE example SET id = id + 1 WHERE // Doenst work cause it is a string
答案 0 :(得分:1)
您可以使用lpad()
:
UPDATE example
SET id = LPAD(id + 1, 3, '0')
WHERE . . .;
但是,如果您的id
是一个数字,您应该将其存储为数字。事实上,如果符合您的需要,我会建议使用自动增量列。
然后,您可以使用视图或生成的列将其作为字符串返回。