如何在数据库中让商品的编号按照g000001这样累加呢?麻烦各位高手指点下。谢谢了。比如:
第一个商品是:g00001
第二个商品是:g00002
…………
也许你会说这样不好,但是没办法,这样是为你有些地方的好。
在程序里面可以做处理, 先截取前缀,再将后面的数字加一,再和前缀连在一起。
在数据库里面可以创建个函数:
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')