FUNCTION `sp_dec2bin`( IN cislo BIGINT) RETURNS CHAR(32); // decimal to binary - dekadické na binární // binary is represented as 32 characters (32 as IP binary mask) - reprezentace IP adresy 32bitovou maskou // 8 -> 00000000000000000000000000001000 BEGIN DECLARE pom1, pom2, pozice BIGINT; DECLARE vysledek CHAR(32); DECLARE charcount TINYINT; SET vysledek = ''; SET pozice = 32; REPEAT SET pom1 = cislo DIV 2; // celočíselné dělení SET pom2 = cislo MOD 2; // zbytek po dělení SET cislo = pom1; SET vysledek = STRCAT(BIGINT2STR(pom2),vysledek); IF cislo = 1 THEN SET vysledek = STRCAT('1',vysledek); END IF; UNTIL cislo < 2 END REPEAT; SET charcount = STRLENGTH (vysledek); WHILE charcount <32 DO SET vysledek = STRCAT('0',vysledek); SET charcount = charcount+1; END WHILE; RETURN vysledek; END