1. 数值类型
数值类型 | ||
---|---|---|
INTEGER | 范围为 -2147483648 到 2147483647 | 与 java.lang.Integer 映射。但注意的是其二进制表示需要其会把第一个符号位进行翻转,这样保证负数排列在正数前面。 |
UNSIGNED_INT | 范围为0到2147483647 | 这个是与 java.lang.Integer 对应,其二进制呈现形式和Bytes.toBytes(int) 方法产生的一致。 |
BIGINT | 范围为 -9223372036854775808 到9223372036854775807 | 与 java.lang.Long 对应。8个字节,同时也是符号位反转。 |
UNSIGNED_LONG | 可能值为 0 到 9223372036854775807 | 与 Bytes.toBytes(long) 对应。 |
TINYINT | -128 到 127 | 与 java.lang.Byte 对应。符号位也需要反转。 |
UNSIGNED_TINYINT | 0 到 127 | 二进制表示形式就是一个单字节,和 Bytes.toBytes(byte) 对应。 |
SMALLINT | -32768 到 32767 | 与 java.lang.Short 对应。符号位需要反转。 |
UNSIGNED_SMALLINT | 0 到 32767 | 二进制表示形式与Bytes.toBytes(short)对应。 |
FLOAT | -3.402823466 E+ 38 到 3.402823466 E + 38 | 与 java.lang.Float 对应,首字节需要反转。 |
UNSIGNED_FLOAT | 0 到 3.402823466 E + 38 | 二进制表示形式与 Bytes.toBytes(float) 一致。 |
DOUBLE | 范围为 -1.7976931348623158 E + 308 到1.7976931348623158 E + 308 | 与 java.lang.Double 对应,二进制形式首位需反转。 |
UNSIGNED_DOUBLE: | 0 到 1.7976931348623158E + 308 | 二进制表示形式与 Bytes.toBytes(double) 对应。 |
DECIMAL | 具有固定精度。最大精度为18位 | 与 java.math.BigDecimal 对应。其二进制表示形式为可变长度格式。当用于 rowkey 中,其后会产生一个 nullbyte ,除非它是最后一列 |
2. 布尔类型
Boolean 类型 | ||
---|---|---|
BOOLEAN | 二进制形式 0 表示 false,1 表示true |
3. 时间类型
时间类型 | ||
---|---|---|
TIME | 格式为 yyyy-MM-DD hh:mm:ss,具有日期和时间两部分。 | 与 java.sql.Time 对应。二进制表示形式为8个字节的long型,代表从EPOCH开始的毫秒数 |
DATE: | 格式为 yyyy-MM-DD hh:mm:ss,具有日期和时间两部分。 | 与 java.sql.DATE 对应。二进制表示形式为8个字节的long型,代表从EPOCH开始的毫秒数 |
TIMESTAMP | 格式为 yyyy-MM-dd hh:mm:ss[.nnnnnnnnn], | 与 java.sql.Timestamp,二进制表示为12个字节,8个字节表示 long 毫秒数,4个字节表示 int 纳秒数 |
4. 字符串类型
字符串类型 | ||
---|---|---|
VARCHAR | 具有最大字节长度(可选)的可变长字符串。当用于 rowkey 时,会在末尾加一个 null 字节,而如果它正好位于 rowkey 最后部分则不加 | |
CHAR | 固定长度字符串。 | 二进制表示是UTF8形式与 Bytes.toBytes(string) 对应 |
5. 数组类型
数组 | ||
---|---|---|
BINARY | 原始固定长度二进制字节数组, | 与byte[]对应 |
VARBINARY | 原始可变长度二进制格式字节数组 |