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