数值类型
TiDB 支持 MySQL 所有的数值类型,按照精度可以分为:
TiDB 支持 MySQL 所有的整数类型,包括 INTEGER
/INT
、TINYINT
、SMALLINT
、MEDIUMINT
以及 BIGINT
,完整信息参考文档。
字段说明:
BIT
类型
比特值类型。M 表示比特位的长度,取值范围从1到64,其默认值是1。
BOOLEAN
类型
布尔类型,别名为 BOOL
,和 TINYINT(1)
等价。零值被认为是 False
,非零值认为是 True
。在 TiDB 内部,True
存储为 1
,False
存储为 0
。
TINYINT
类型
TINYINT
类型。有符号数的范围是 [-128, 127]
。无符号数的范围是 [0, 255]
。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
类型
SMALLINT
类型。有符号数的范围是 [-32768, 32767]
。无符号数的范围是 [0, 65535]
。
MEDIUMINT
类型
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
INTEGER
类型
INTEGER
类型,别名 INT
。有符号数的范围是 [-2147483648, 2147483647]
。无符号数的范围是 [0, 4294967295]
。
INT[(M)] [UNSIGNED] [ZEROFILL]
或者:
BIGINT
类型。有符号数的范围是 [-9223372036854775808, 9223372036854775807]
。无符号数的范围是 [0, 18446744073709551615]
。
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
存储空间以及取值范围
每种类型对存储空间的需求以及最大/最小值如下表所示:
TiDB 支持 MySQL 所有的浮点类型,包括 FLOAT
、DOUBLE
,完整信息参考文档。
字段说明:
FLOAT
类型
单精度浮点数。允许的值范围为 -2^128 ~ +2^128,也即 -3.402823466E+38 到 -1.175494351E-38、0 和 1.175494351E-38 到 3.402823466E+38。这些是基于 IEEE 标准的理论限制。实际的范围根据硬件或操作系统的不同可能稍微小些。
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
FLOAT(p) [UNSIGNED] [ZEROFILL]
DOUBLE
类型
双精度浮点数,别名为 DOUBLE PRECISION
。允许的值范围为:-2^1024 ~ +2^1024,也即是 -1.7976931348623157E+308 到 -2.2250738585072014E-308、0 和 2.2250738585072014E-308 到 1.7976931348623157E+308。这些是基于 IEEE 标准的理论限制。实际的范围根据硬件或操作系统的不同可能稍微小些。
警告:
与在 MySQL 中一样,
DOUBLE
数据类型存储近似值。对于货币之类的精确值,建议使用DECIMAL
类型。
存储空间
每种类型对存储空间的需求如下表所示:
TiDB 支持 MySQL 所有的定点类型,包括 DECIMAL
、NUMERIC
,完整信息参考文档。
字段说明:
DECIMAL
类型
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]