Los enteros grandes no están limitados a 20 dígitos, están limitados a los números que se pueden expresar en 64 bits (por ejemplo, el número 99,999,999,999,999,999,999
no es un entero válido a pesar de tener 20 dígitos).
La razón por la que tiene esta limitación es que los enteros nativos pueden ser manipulados relativamente rápido por el hardware subyacente, mientras que las versiones textuales de un número (tienden a) deben procesarse de a un dígito por vez.
Si usted quiere un número más grande que el más grande de 64 bits entero sin signo 18,446,744,073,709,551,615
, entonces tendrá que almacenarlo como un (otro campo de texto o) varchar
y la esperanza de que no es necesario hacer mucho manipulación matemática en él .
Alternativamente, puede buscar en los números de punto flotante que tienen un rango mayor pero menos precisión, o números decimales que le pueden dar 65 dígitos para un valor integral, con decimal(65,0)
como el tipo de columna.
BIGINT está limitado por definición a 8 bytes. – mozillanerd