在程序里面可以做处理, 先截取前缀,再将后面的数字加一,再和前缀连在一起。
在数据库里面可以创建个函数:
Create FUNCTION [dbo].[GetMaxCode](@Prefix nvarchar(1) )RETURNS nvarchar(6)ASBEGIN -- 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')