支持的数据源 类别 类型 简要释义 存储格式示例 Hive DWS 字符串 CHAR(M) 固定长度的字符串是以长度为1到255之间个字符长度(例如:CHAR(5)),存储右空格填充到指定的长度。 限定长度不是必需的,它会默认为1。 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR(M) 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255);例如:VARCHAR(25). 创建VARCHAR类型字段时,必须定义长度。 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 DECIMAL(M,D) 非压缩浮点数不能是无符号的。在解包小数,每个小数对应于一个字节。 定义显示长度(M)和小数(D)的数量是必需的。 NUMERIC是DECIMAL的同义词。 52.36 DECIMAL D为0时对应BIGINT D不为0时对应NUMBERIC NUMBERIC 与DECIMAL相同。 DECIMAL NUMBERIC INTEGER 一个正常大小的整数,可以带符号。 如果是有符号的,它允许的范围是从2147483648到2147483647。 如果是无符号,允许的范围是从0到4294967295。 可以指定多达11位的宽度。 5236 INT INTEGER INTEGER UNSIGNED INTEGER的无符号形式。 BIGINT INTEGER INT 与INTEGER相同。 5236 INT INTEGER INT UNSIGNED 与INTEGER UNSIGNED相同。 BIGINT INTEGER BIGINT 一个大的整数,可以带符号。 如果有符号,允许范围为9223372036854775808到9223372036854775807。 如果无符号,允许的范围是从0到18446744073709551615.可以指定最多20位的宽度。 5236 BIGINT BIGINT BIGINT UNSIGNED BIGINT的无符号形式。 BIGINT BIGINT MEDIUMINT 一个中等大小的整数,可以带符号。如果有符号,允许范围为8388608至8388607。 如果无符号,允许的范围是从0到16777215,可以指定最多9位的宽度。 128、127 INT INTEGER MEDIUMINT UNSIGNED MEDIUMINT的无符号形式。 BIGINT INTEGER TINYINT 一个非常小的整数,可以带符号。如果是有符号,它允许的范围是从128到127。 如果是无符号,允许的范围是从0到255,可以指定多达4位数的宽度。 100 TINYINT SMALLINT TINYINT UNSIGNED TINYINT的无符号形式。 TINYINT SMALLINT BOOL MySQL的bool实际上就是tinyint(1) 128、127 SMALLINT BYTEA SMALLINT 一个小的整数,可以带符号。 如果有符号,允许范围为32768至32767。 如果无符号,允许的范围是从0到65535,可以指定最多5位的宽度。 9999 SMALLINT SMALLINT SMALLINT UNSIGNED SMALLINT的无符号形式。 INT SMALLINT REAL 同DOUBLE。 DOUBLE FLOAT(M,D) 不能使用无符号的浮点数字。 可以定义显示长度(M)和小数位数(D)。 这不是必需的,并且默认为10,2。其中2是小数的位数,10是数字(包括小数)的总数。 小数精度可以到24个浮点。 52.36 FLOAT FLOAT4 DOUBLE(M,D) 不能使用无符号的双精度浮点数。 可以定义显示长度(M)和小数位数(D)。 这不是必需的, 默认为16,4,其中4是小数的位数。 小数精度可以达到53位的DOUBLE。 REAL是DOUBLE同义词。 52.36 DOUBLE FLOAT8 DOUBLE PRECISION 与DOUBLE相似。 52.3 DOUBLE FLOAT8 位 BIT(M) 存储位值的BIT类型。 BIT(M)可以存储多达M位的值,M的范围在1到64之间。 B'1111100' B'1100' TINYINT BYTEA 日期时间 DATE 以YYYYMMDD格式的日期,在10000101和99991231之间。 例如,1973年12月30日将被存储为19731230。 19991001 DATE TIMESTAMP TIME 用于存储时、分、秒信息 '09:10:21'或'9:10:21' 不支持(String) TIME DATETIME 日期和时间组合以YYYYMMDD HH:MM:SS格式,在10000101 00:00:00到99991231 23:59:59之间。 例如,1973年12月30日下午3:30,会被存储为19731230 15:30:00。 '19731230 15:30:00' TIMESTAMP TIMESTAMP TIMESTAMP 1970年1月1日午夜之间的时间戳,到2037的某个时候。这看起来像前面的DATETIME格式,无需只是数字之间的连字符; 1973年12月30日下午3点30分将被存储为19731230153000(YYYYMMDDHHMMSS)。 19731230153000 TIMESTAMP TIMESTAMP YEAR(M) 以2位或4位数字格式来存储年份。 如果长度指定为2(例如YEAR(2)),年份就可以为1970至2069(70〜69)。 如果长度指定为4,年份范围是19012155,默认长度为4。 2000 不支持(String) 不支持 多媒体(二进制) BINARY(M) 字节数为M,允许长度为0M的变长二进制字符串,字节数为值得长度加1 0x2A3B4058 (二进制数据) 不支持 BYTEA VARBINARY(M) 字节数为M,允许长度为0M的定长二进制字符串 0x2A3B4059 (二进制数据) 不支持 BYTEA TEXT 字段的最大长度是65535个字符。TEXT是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。 0x5236(二进制数据) 不支持 不支持 TINYTEXT 0255字节短文本二进制字符串 不支持 MEDIUMTEXT 0167772154字节中等长度文本二进制字符串 不支持 LONGTEXT 04294967295字节极大长度文本二进制字符串 不支持 BLOB 字段的最大长度是65535个字符。 BLOB是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。 BLOB大小写敏感。 0x5236(二进制数据) 不支持 BYTEA TINYBLOB 0255字节短文本二进制字符串 BYTEA MEDIUMBLOB 0167772154字节中等长度文本二进制字符串 BYTEA LONGBLOB 04294967295字节极大长度文本二进制字符串 0x5236(二进制数据) 不支持 BYTEA 特殊类型 SET SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。 指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。 不支持 JSON 不支持 不支持(TEXT) ENUM 当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。 例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。 不支持 不支持