muy bien ya resolvi la query y posteo el codigo en una forma mas limpia e intentare explicarla de una forma clara agradesco al compañero que me oriento con el codigo del check a continuacion posteo el codigo y la explicacion
primero ver la ecuacion para sacar el verificador
ejemplo
codigo 123456789012
primero
sumamos los numeros en posicion par y el resultado lo multiplicamos por 3
2+4+6+8+0+2 = 22 * 3 = 66
segundo
despues sumamos los numeros en posicion non
1+3+5+7+9+1 = 26
tercero
los dos resultados los sumamos
66+26 = 92
Se busca decena inmediatamente superior y se le resta el resultado obtenido. El resultado final es el dígito de control. Si el resultado es múltiplo de 10 el dígito de control será 0.
y al final determinamos el Próximo múltiplo de 10
del resultado = 100
Dígito de control: 100 - 92 = 8
implementandolo en mysql
funciones a utilizar
resta
substr
mod
en un query
en mi caso la tabla de la cual extraigo la consulta se llama bc_articulos y el campo donde se encuentran los 12 digitos del codigo se llama barcode
asi que con la siguiente query obtengo el verificador
select 10-(((substr(barcode,2,1)+substr(barcode,4,1)+substr( barcode,6,1)+substr(barcode,8,1)+substr(barcode,10 ,1)+substr(barcode,12,1))*3)+((substr(barcode,1,1) +substr(barcode,3,1)+substr(barcode,5,1)+substr(ba rcode,7,1)+substr(barcode,9,1)+substr(barcode,11,1 ))))mod 10 from bc_articulos
si alguien lo necesita puede modificar el codigo a su necesidad y utilizarlo en un trigger o en un update espero le sea de utilidad a quien lo necesite ya que como yo no encontre casi informacion ni codigo de como aplicarlo , si tienen duda pueden consultarme