我在 MySql 中有存储过程,用户将传递一个数字,例如'cr002149' 现在我想将 select 语句中每条记录的数字增加 1。我该怎么做才能让数字变成例如cr002150,cr002151...
谢谢。
最佳答案
您应该重新考虑您的数据结构,使用 auto_increment
整数可能会好运。无论哪种方式,都应该这样做。
CONCAT('cr',
LPAD(
CAST(
SUBSTRING('cr002149',3) AS DECIMAL(0)
)+1,
6,'0'
)
);
以上将返回 cr002150
。首先,我们使用 SUBSTRING
获取 002149
,然后将字符串 002149
转换为整数并获取 2149
。现在,我们将其递增以获得 2150
,然后用 0 向左填充以获得 002150
,最后我们在左侧连接 cr
边。
关于mysql如何增加序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071534/