Necesitaba una funcion que me valide los cuit desde mysql, encontre una en postgresql y la adapte a mysql, ya que no encontre una hecha en mysql.
Retorna 0 si el cuit es invalido y 1 si es valido.
Hay que pasarle el numero de corrido sin los guiones.
aca va el codigo por si alguno la necesita...
CREATE FUNCTION `validar_cuit`(
CUIT BIGINT
)
RETURNS varchar(18) CHARSET latin1
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE RES, DIG, NUM BIGINT;
DECLARE i INT;
IF LENGTH(CUIT) != 11 OR SUBSTR(CUIT, 1, 2) = '00' THEN
RETURN 0;
END IF;
SET RES = 0;
SET i = 1;
WHILE i < 11 DO
SET NUM = (SUBSTR(CUIT, I, 1));
IF (i = 1 OR i = 7) THEN
SET RES = RES + NUM * 5;
ELSEIF (I = 2 OR I = 8) THEN
SET RES = RES + NUM * 4;
ELSEIF (I = 3 OR I = 9) THEN
SET RES = RES + NUM * 3;
ELSEIF (I = 4 OR I = 10) THEN
SET RES = RES + NUM * 2;
ELSEIF (I = 5) THEN
SET RES = RES + NUM * 7;
ELSEIF (I = 6) THEN
SET RES = RES + NUM * 6;
END IF;
SET i = i+1;
END WHILE;
SET DIG = 11 - MOD(RES,11);
IF DIG = 11 THEN
SET DIG = 0;
END IF;
IF DIG = (SUBSTR(CUIT,11,1)) THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END;