El rango de un int sin firmar de 12 bytes sería 0..79228162514264337593543950335 (29 dígitos máx.); de acuerdo con los documentos (la misma URL que citó), un DECIMAL /NUMERIC columna empaqueta cada grupo de nueve dígitos de base 10 en cuatro bytes (sumando floor(29 / 9) * 4 = 3 * 4 = 12 bytes para los primeros 27 dígitos), con los 2 dígitos restantes tomando un byte adicional, llegando a 13 bytes de almacenamiento para un DECIMAL(29) columna.
O bien, puede almacenarlos como BINARY(12) .