[ sojic @ 06.12.2007. 17:58 ] @
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 Code: 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 |