大整数实际上并不受限于20位数字,它们限于可以用64位表示的数字(例如,该数字99,999,999,999,999,999,999
尽管长20位,但不是有效的大整数)。
出现此限制的原因是底层硬件可以相对快速地处理本机格式整数,而数字的文本版本(倾向于)需要一次处理一位。
如果您想要一个大于最大64位无符号整数的数字,18,446,744,073,709,551,615
则需要将其存储为varchar
(或其他文本字段),并希望您不需要对其进行太多的数学处理。
另外,您可以查看范围较大但精度较低的浮点数,或者应使用十进制数decimal(65,0)
作为列类型,以便为整数值提供65位数字。