很多表都会用到编号,使得编号统一有序这一点十分重要,这次主要处理的是varchar类型编号的自增,写了一个获取下一个应该插入的编号函数。
create function dbo.getmaxspid() returns varchar(30)
as
begin
declare @result varchar(30);
select @result=max(id) from tb_spinfo;
set @result=left(@result,2)+convert(char,(substring(@result,3,4)+1 ))
return @result;
end
SELECT DBO.GETMAXSPID();
主要是编号是因为由字母和数字组成,不能直接完成自增,用left函数取出字母,在用substring取出数字自增后再用convert函数转为char类型,再拼接到一起即可。