码迷,mamicode.com
首页 > 数据库 > 详细

(转)基于SQL的EAN-13条形码校验位生成

时间:2017-07-04 01:01:33      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:str   varchar   drop   http   creat   arc   where   eve   entity   

源: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 @s1=@s1*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 @s1=@s1+@s2
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条形码校验位生成

标签:str   varchar   drop   http   creat   arc   where   eve   entity   

原文地址:http://www.cnblogs.com/spymaster/p/7113582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!