您的位置:首页 > 数据库

用sqlserver 实现带英文字母的流水码

2013-11-11 20:55 239 查看
--下面函数实现在sqlserver中产生带字母流水号,如ABC增加一个为ABD, ABCD 递增为ABCE

create function dbo.f_IncIdent(@p_AIdent varchar(36))

returns varchar(20)

as

begin

declare @v_cChars varchar(40),

@v_J integer,

@v_K Integer,

@v_result varchar(40);

set @v_cChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

set @v_Result = @p_AIdent;

set @v_j= Len(@p_AIdent)

while @v_J >1

begin

SET @v_K = CHARINDEX(SUBSTRING(@P_AIdent,@V_J,1), @V_cChars);

if @V_K < Len(@V_cChars)

begin

set @v_result=substring(@v_result,1,@v_J-1)+SUBSTRING(@V_cChars,@v_k+1,1)+substring(@v_result,@v_J+1,40)

SET @V_K=Len(@P_AIdent)

while @v_k>@V_J

begin

set @v_result=substring(@v_result,1,@v_k-1)+substring(@v_cChars,1,1)+substring(@v_result,@v_k+1,40)

set @v_k=@v_k-1;

end;

return @v_result;

break;

end;

set @v_J=@v_J-1;

end;

return @v_result;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: