Rank: Administration
Medals: Groups: Administrators
Joined: 10/20/2012 Posts: 106 Points: 327 Location: Tbilisi
Thanks: 0 times Was thanked: 0 time(s) in 0 post(s)
|
ახლა კი შემოგთავაზებთ EAN 8 -ის გამოთვლის მაგალითს BB კოდი: -- SQL 2005, 2008 -- EAN 8 DECLARE @BarCode8 AS VARCHAR(19), @x AS INT, @y AS nchar(1) SET @BarCode8 = '2001234' -- ცვლადი @BarCode8 შეიცავს შტრიხკოდის პირველ 8 სიმბოლოს IF ((Len(@BarCode8) < 7) OR (Len(@BarCode8) > 8)) SET @BarCode8 = NULL ELSE IF (Len(@BarCode8) = 8) SET @BarCode8 = Left(@BarCode8, 7)
-- გამოვთვალოთ საკონტროლო თანრიგის მნიშვნელობა SET @x = 3 * ( CAST(Substring(@BarCode8,1,1) AS int) + CAST(Substring(@BarCode8,3,1) AS int) + CAST(Substring(@BarCode8,5,1) AS int) + CAST(Substring(@BarCode8,7,1) AS int) ) + CAST(Substring(@BarCode8,2,1) AS int) + CAST(Substring(@BarCode8,4,1) AS int) + CAST(Substring(@BarCode8,6,1) AS int) IF (@x % 10) = 0 BEGIN SET @y = '0' END ELSE IF (@x % 10) = 1 BEGIN SET @y = '9' END ELSE IF (@x % 10) = 2 BEGIN SET @y = '8' END ELSE IF (@x % 10) = 3 BEGIN SET @y = '7' END ELSE IF (@x % 10) = 4 BEGIN SET @y = '6' END ELSE IF (@x % 10) = 5 BEGIN SET @y = '5' END ELSE IF (@x % 10) = 6 BEGIN SET @y = '4' END ELSE IF (@x % 10) = 7 BEGIN SET @y = '3' END ELSE IF (@x % 10) = 8 BEGIN SET @y = '2' END ELSE IF (@x % 10) = 9 BEGIN SET @y = '1' END ELSE BEGIN SET @y = 'Z' END
-- დავუმატოთ საკონტროლო თანრიგი ბოლოში @BarCode8 - ს SET @BarCode8 = Left(@BarCode8,7) + @y SELECT @BarCode8 AS [BarCode_EAN8] -- RETURNS 2001234(2)
|