微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

--下面函数实现在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,@v_k-1)+substring(@v_cChars,40)           set @v_k=@v_k-1;       end;       return @v_result;       break;     end;    set  @v_J=@v_J-1;   end;  return @v_result; end;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐