sql,EAN-13位条码,存储过程

sql,13位条码,存储过程

create  proc to13code
  @tempstr varchar(12),
  @tempcode varchar(13)  output
as
declare @a1 int,@a2 int,@a3 int,@a4 int,@a5 int,@a6 int,@a7 int,@a8 int,@a9 int,@a10 int,@a11 int,@a12 int
declare @b1 int,@b2 int,@b3 int
declare @str varchar(2)
 set @str=substring(@tempstr,1,1)
 set @a1=convert(bigint, @str)
 set @str=substring(@tempstr,2,1)
set @a2=convert(bigint,@str)
set @str=substring(@tempstr,3,1)
 set @a3=convert(bigint,@str)
set @str=substring(@tempstr,4,1)
 set @a4=convert(bigint,@str)
set @str=substring(@tempstr,5,1)
 set @a5=convert(bigint,@str)
set @str=substring(@tempstr,6,1)
 set @a6=convert(bigint,@str)
set @str=substring(@tempstr,7,1)
 set @a7=convert(bigint,@str)
set @str=substring(@tempstr,8,1)
 set @a8=convert(bigint,@str)
set @str=substring(@tempstr,9,1)
 set @a9=convert(bigint,@str)
set @str=substring(@tempstr,10,1)
 set @a10=convert(bigint,@str)
set @str=substring(@tempstr,11,1)
 set @a11=convert(bigint,@str)
set @str=substring(@tempstr,12,1)
 set @a12=convert(bigint,@str)
set @b1=@a1+@a3+@a5+@a7+@a11+@a9
print @b1
set @b2=@a2+@a4+@a6+@a8+@a10+@a12
  print @b2
set @b2=@b2 *3
set @b3=(@b1+@b2) % 10
 print @b3
set @b3=10-@b3

 print @tempstr+convert(varchar(10),@b3)
       set @tempcode=@tempstr
   return @tempcode

猜你喜欢

转载自blog.csdn.net/flon/article/details/2332727
今日推荐