我在 MySql 中有存储过程,用户将传入一个数字,例如'cr002149' 现在我想为 select 语句中的每条记录增加 1。我该怎么做才能让数字变成例如 cr002150,cr002151 ......
谢谢。
您应该重新考虑您的数据结构,仅使用auto_increment
'd 整数可能会获得更好的运气。无论哪种方式,都应该这样做。
CONCAT('cr',
LPAD(
CAST(
SUBSTRING('cr002149',3) AS DECIMAL(0)
)+1,
6,'0'
)
);
以上将返回cr002150
。首先,我们得到002149
using SUBSTRING
,然后将字符串002149
转换为整数并得到2149
。现在,我们将其递增到 get 2150
,然后将其左填充 0 以得到 get 002150
,最后我们cr
在左侧连接。