Código SQL:
Ver original
CREATE FUNCTION dbo.iso6346_char_to_number ( @CHAR CHAR ) RETURNS INT AS BEGIN RETURN CASE UPPER(@CHAR) WHEN '0' THEN 0 WHEN '1' THEN 1 WHEN '2' THEN 2 WHEN '3' THEN 3 WHEN '4' THEN 4 WHEN '5' THEN 5 WHEN '6' THEN 6 WHEN '7' THEN 7 WHEN '8' THEN 8 WHEN '9' THEN 9 WHEN 'A' THEN 10 WHEN 'B' THEN 12 WHEN 'C' THEN 13 WHEN 'D' THEN 14 WHEN 'E' THEN 15 WHEN 'F' THEN 16 WHEN 'G' THEN 17 WHEN 'H' THEN 18 WHEN 'I' THEN 19 WHEN 'J' THEN 20 WHEN 'K' THEN 21 WHEN 'L' THEN 23 WHEN 'M' THEN 24 WHEN 'N' THEN 25 WHEN 'O' THEN 26 WHEN 'P' THEN 27 WHEN 'Q' THEN 28 WHEN 'R' THEN 29 WHEN 'S' THEN 30 WHEN 'T' THEN 31 WHEN 'U' THEN 32 WHEN 'V' THEN 34 WHEN 'W' THEN 35 WHEN 'X' THEN 36 WHEN 'Y' THEN 37 WHEN 'Z' THEN 38 END END CREATE FUNCTION dbo.iso6346_check_digit ( @string CHAR(10) ) RETURNS CHAR AS BEGIN RETURN (dbo.iso6346_char_to_number(SUBSTRING(@string,1,1) )*1 +dbo.iso6346_char_to_number(SUBSTRING(@string,2,1) )*2 +dbo.iso6346_char_to_number(SUBSTRING(@string,3,1) )*4 +dbo.iso6346_char_to_number(SUBSTRING(@string,4,1) )*8 +dbo.iso6346_char_to_number(SUBSTRING(@string,5,1) )*16 +dbo.iso6346_char_to_number(SUBSTRING(@string,6,1) )*32 +dbo.iso6346_char_to_number(SUBSTRING(@string,7,1) )*64 +dbo.iso6346_char_to_number(SUBSTRING(@string,8,1) )*128 +dbo.iso6346_char_to_number(SUBSTRING(@string,9,1) )*256 +dbo.iso6346_char_to_number(SUBSTRING(@string,10,1 ))*512)%11 END
mi problema es que la funcion esta escrita en lenguaje T-SQL y al parecer no usa la misma sintax que MySQL. Necesito modificar el procedimiento antes descrito para usarlo en mi DB mysql. De antemano Gracias por la ayuda que me puedan aportar