Buenas amigos del foro, acudo a uds con la siguiente interrogante; necesito hacer un procedimiento en MySQL y estoy relativamente nuevo creando funciones. La estructura del procedimiento como tal lo consegui como esta descrito a continuacion:
Código SQL:
Ver originalCREATE 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