如何使用int(+1)更新字符串并转换回String

时间:2018-02-13 11:40:15

标签: mysql sql

我有以下问题。

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

1 个答案:

答案 0 :(得分:1)

您可以使用lpad()

UPDATE example
    SET id = LPAD(id + 1, 3, '0')
    WHERE . . .;

但是,如果您的id是一个数字,您应该将其存储为数字。事实上,如果符合您的需要,我会建议使用自动增量列。

然后,您可以使用视图或生成的列将其作为字符串返回。