(转)基于SQL的EAN-13条形码校验位生成
Posted Heavy-rain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转)基于SQL的EAN-13条形码校验位生成相关的知识,希望对你有一定的参考价值。
源:http://bbs.csdn.net/topics/220057226
create function dbo.EAN_13(@value varchar(13))
returns varchar(13)
as
begin
declare @s1 int ,@s2 int
declare @t table (id int identity(1,1),b bit)
insert into @t(b)
select top 13 1 from syscolumns
set @value=‘0‘+reverse(@value)
select @s1=sum(cast(substring(@value,id,1) as int))
from @t a
where len(@value)>=id and id%2=0
set @[email protected]*3
select @s2=sum(cast(substring(@value,id,1) as int))
from @t a
where len(@value)>=id and id>=3 and id%2=1
set @[email protected][email protected]
return left(reverse(@value),12)+ltrim(10-len(@s1))
end
go
select dbo.EAN_13(‘234235654652‘) ean13
go
drop function EAN_13
/*
ean13
-------------
2342356546528
(所影响的行数为 1 行)
*/
以上是关于(转)基于SQL的EAN-13条形码校验位生成的主要内容,如果未能解决你的问题,请参考以下文章