如何解决代表mysql中的n位无符号整数
| 如何在MysqL中表示此数据?16 bit unsigned integer -----Range: 0x0000 - 0xFFF7
64 bit unsigned int. Depicted as xx:xx:xx:xx:xx:xx:xx:xx -----Range: 0x0000 - 0xFFFFFFFFFFFFFFFF
2 bits ----- 00 - None,01 - Residential Security,10 - High Security
32 bit unsigned int
我应该将所有内容都转换为字符串并在应用程序层将其转换吗?
解决方法
根据MySQL的数字类型概述:
UNSIGNED SMALLINT
:范围是0到65535。这对于16位无符号整数就足够了。
UNSIGNED TINYINT
:范围是0到255。足够2位无符号整数。看来您需要保留前导零,因此也请使用ZEROFILL
。要将值保留为仅两个字符宽,可以指定UNSIGNED ZEROFILL TINYINT(2)
。
UNSIGNED INT
:范围是0到4294967295。足够用于32位unsigned int。
UNSIGNED BIGINT
:范围是0到18446744073709551615。请参见以下内容:
最后一个是64位unsigned int,来自上面的链接页面有几个警告:
所有算术都是使用带符号的BIGINT或DOUBLE值完成的,因此,除带位功能外,不要使用大于9223372036854754775807(63位)的无符号大整数!如果这样做,由于将BIGINT值转换为DOUBLE时会舍入错误,结果中的最后几位可能会出错。
您始终可以通过使用字符串将精确的整数值存储在BIGINT列中。在这种情况下,MySQL执行的字符串到数字的转换不涉及中间的双精度表示形式。
当两个操作数均为整数值时,-,+和*运算符使用BIGINT算术。这意味着,如果将两个大整数相乘(或返回整数的函数的结果),则当结果大于9223372036854775807时,可能会得到意外的结果。
, MySQL支持几种数据类型。查看MySQL数据类型
UNSIGNED BIGINT : 8-byte (64-bit) integer
UNSIGNED INT : 4-byte (32-bit) integer
UNSIGNED SMALLINT : 2-byte (16-bit) integer
对于2位类型,可以使用TINYINT (8-bit)
或ENUM
数据类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。