Nasao sam funkciju za proracun checksum cifre EAN13
http://www.elitesecurity.org/t298408
Pokusavam da "prevedem" funkciju za MySQL ali dobijem 1064 gresku.
Evo funkcije
CREATE FUNCTION `ean13checksum` (eankod varchar(12)) RETURNS char(1)
BEGIN
DECLARE Result char(1);
DECLARE charPos integer;
DECLARE csumTotal integer;
SET charPos = length(eankod);
SET csumTotal = 0;
WHILE charPos > 0 DO
IF ((charPos % 2) = 0) THEN
SET csumTotal = csumTotal + CAST(substr(eankod, charPos, 1) AS integer);
ELSE
SET csumTotal = csumTotal + 3 * CAST(SUBSTR(eankod, charPos, 1) AS integer);
END IF
SET charPos = charPos -1;
CONTINUE
END
DECLARE remainder integer;
SET remainder = 10 - csumTotal MOD 10;
SET remainder = remainder MOD 10;
SET Result = CAST(remainder AS int);
RETURN Result;
END










EAN13 Checksum funkcija