为了账号安全,请及时绑定邮箱和手机立即绑定

如何在数据库中让商品的编号按照g000001这样累加呢?

如何在数据库中让商品的编号按照g000001这样累加呢?

慕少森 2018-12-06 13:39:51
如何在数据库中让商品的编号按照g000001这样累加呢?麻烦各位高手指点下。谢谢了。比如: 第一个商品是:g00001 第二个商品是:g00002 ………… 也许你会说这样不好,但是没办法,这样是为你有些地方的好。
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

在程序里面可以做处理, 先截取前缀,再将后面的数字加一,再和前缀连在一起。

在数据库里面可以创建个函数:

Create FUNCTION [dbo].[GetMaxCode]
(
@Prefix nvarchar(1)
)
RETURNS nvarchar(6)
AS
BEGIN
 -- Declare the return variable here
 DECLARE @Code nvarchar(6)
 DECLARE @currentValue int
 
 select @Code=Max(Code) from t_demo
 
 if(@Code='' or @Code is null)
  Set @Code=@Prefix+'00001'
  
 set @Code=substring(@Code,2,5)
 set @currentValue=cast(@code as int)
 SET @currentValue= @currentValue+1
 
 if(@currentValue<10)
  set @Code=@Prefix+'0000'
 else
  set @Code=@Prefix+'000'
  
 set @Code=@Code+cast(@currentValue as nvarchar(5))
 
 RETURN @Code

END

 

调用 :select dbo.GetMaxCode('p')

查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 869 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信