我需要存储长度为13的整数,但我不希望出现任何复杂情况。
需要考虑的事项:
这可能听起来很愚蠢 - 但基本上,我只想要一个可以容纳13位数的整数列。
我应该使用哪种列类型?
答案 0 :(得分:2)
使用bigint
http://dev.mysql.com/doc/refman/5.7/en/integer-types.html
Type | Storage | Minimum Value | Maximum Value
| (Bytes) | (Signed/Unsigned) | (Signed/Unsigned)
----------+---------+----------------------+----------------------
TINYINT | 1 | -128 | 127
| | 0 | 255
----------+---------+----------------------+----------------------
SMALLINT | 2 | -32768 | 32767
| | 0 | 65535
----------+---------+----------------------+----------------------
MEDIUMINT | 3 | -8388608 | 8388607
| | 0 | 16777215
----------+---------+----------------------+----------------------
INT | 4 | -2147483648 | 2147483647
| | 0 | 4294967295
----------+---------+----------------------+----------------------
BIGINT | 8 | -9223372036854775808 | 9223372036854775807
| | 0 | 18446744073709551615
答案 1 :(得分:0)
您似乎正在搜索decimal。
在您的特定情况下,为十进制(13,0)。
小数存储在压缩二进制中,语义(排序)是整数。它们通常比某些情况下的“浮动”更好,因为你没有存储基数2尾数和指数,而是十进制(基数10)“整数部分”和“小数部分”,所以你不会得到典型的奇怪舍入漂浮。但这不是你的问题,只是说。