支持的数据类型
配置字段映射时,数据源支持的数据类型请参见表1,以确保数据完整导入到目的端。
数据连接类型 |
数据类型说明 |
---|---|
MySQL |
|
SQL Server |
|
Oracle |
|
PostgreSQL |
|
神通(ST) |
|
SAP HANA |
|
DWS |
请参见DWS数据库迁移时支持的数据类型。 |
达梦 |
请参见达梦数据库迁移时支持的数据类型。 |
DLI |
请参见DLI数据库迁移时支持的数据类型。 |
Elasticsearch/云搜索服务(CSS) |
MySQL数据库迁移时支持的数据类型
源端为MySQL数据库,目的端为Hive、DWS时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
存储格式示例 |
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 |
以YYYY-MM-DD格式的日期,在1000-01-01和9999-12-31之间。 例如,1973年12月30日将被存储为1973-12-30。 |
1999-10-01 |
DATE |
TIMESTAMP |
TIME |
用于存储时、分、秒信息。 |
'09:10:21'或'9:10:21' |
不支持(String) |
TIME |
|
DATETIME |
日期和时间组合以YYYY-MM-DD HH:MM:SS格式,在1000-01-01 00:00:00 到9999-12-31 23:59:59之间。例如,1973年12月30日下午3:30,会被存储为1973-12-30 15:30:00。 |
'1973-12-30 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,年份范围是1901-2155,默认长度为4。 |
2000 |
不支持(String) |
不支持 |
|
多媒体(二进制) |
BINARY(M) |
字节数为M,允许长度为0-M的变长二进制字符串,字节数为值得长度加1。 |
0x2A3B4058 (二进制数据) |
不支持 |
BYTEA |
VARBINARY(M) |
字节数为M,允许长度为0-M的定长二进制字符串。 |
0x2A3B4059 (二进制数据) |
不支持 |
BYTEA |
|
TEXT |
字段的最大长度是65535个字符。 TEXT是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
TINYTEXT |
0-255字节短文本二进制字符串。 |
- |
- |
不支持 |
|
MEDIUMTEXT |
0-167772154字节中等长度文本二进制字符串。 |
- |
- |
不支持 |
|
LONGTEXT |
0-4294967295字节极大长度文本二进制字符串。 |
- |
- |
不支持 |
|
BLOB |
字段的最大长度是65535个字符。 BLOB是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。BLOB大小写敏感。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
TINYBLOB |
0-255字节短文本二进制字符串。 |
- |
不支持 |
不支持 |
|
MEDIUMBLOB |
0-167772154字节中等长度文本二进制字符串。 |
- |
不支持 |
不支持 |
|
LONGBLOB |
0-4294967295字节极大长度文本二进制字符串。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
特殊类型 |
SET |
SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。 |
- |
- |
不支持 |
JSON |
- |
- |
不支持 |
不支持(TEXT) |
|
ENUM |
当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为 ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。 |
- |
不支持 |
不支持 |
Oracle数据库迁移时支持的数据类型
源端为Oracle数据库,目的端为Hive、DWS时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
Hive |
DWS |
---|---|---|---|---|
字符串 |
char |
定长字符串,会用空格填充来达到最大长度。 |
CHAR |
CHAR |
nchar |
包含unicode格式数据的定长字符串。 |
CHAR |
CHAR |
|
varchar2 |
是VARCHAR的同义词。这是一个变长字符串,与CHAR类型不同,它不会用空格将字段或变量填充至最大长度。 |
VARCHAR |
VARCHAR |
|
nvarchar2 |
包含unicode格式数据的变长字符串。 |
VARCHAR |
VARCHAR |
|
数值 |
number |
能存储精度最多高达38位的数字。 |
DECIMAL |
NUMERIC |
binary_float |
2位单精度浮点数。 |
FLOAT |
FLOAT8 |
|
binary_double |
64位双精度浮点数。 |
DOUBLE |
FLOAT8 |
|
long |
能存储最多2GB的字符数据。 |
不支持 |
不支持 |
|
日期时间 |
date |
7字节的定宽日期/时间数据类型,其中包含7个属性:世纪、世纪中的哪一年、月份、月中的哪一天、小时、分钟、秒。 |
DATE |
TIMESTAMP |
timestamp |
7字节或11字节的定宽日期/时间数据类型,它包含小数秒。 |
TIMESTAMP |
TIMESTAMP |
|
timestamp with time zone |
3字节的timestamp,提供了时区支持。 |
TIMESTAMP |
TIME WITH TIME ZONE |
|
timestamp with local time zone |
7字节或11字节的定宽日期/时间数据类型,在数据的插入和读取时会发生时区转换。 |
TIMESTAMP |
不支持(TEXT) |
|
interval year to month |
5字节的定宽数据类型,用于存储一个时段。 |
不支持 |
不支持(TEXT) |
|
interval day to second |
11字节的定宽数据类型,用于存储一个时段。将时段存储为天/小时/分钟/秒数,还可以有9位小数秒。 |
不支持 |
不支持(TEXT) |
|
多媒体(二进制) |
raw |
一种变长二进制数据类型,采用这种数据类型存储的数据不会发生字符集转换。 |
不支持 |
不支持 |
long raw |
能存储多达2GB的二进制信息。 |
不支持 |
不支持 |
|
blob |
能够存储最多4GB的数据。 |
不支持 |
不支持 |
|
clob |
在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。CLOB包含要进行字符集转换的信息。这种数据类型很适合存储纯文本信息。 |
String |
不支持 |
|
nclob |
这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 |
不支持 |
不支持 |
|
bfile |
可以在数据库列中存储一个oracle目录对象和一个文件名,用户可以通过它来读取这个文件。 |
不支持 |
不支持 |
|
其他类型 |
rowid |
实际上是数据库表中行的地址,它有10字节长。 |
不支持 |
不支持 |
urowid |
是一个通用的rowid,没有固定的rowid的表。 |
不支持 |
不支持 |
SQL Server数据库迁移时支持的数据类型
源端为SQL Server数据库,目的端为Hive、DWS、Oracle时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
Hive |
DWS |
Oracle |
---|---|---|---|---|---|
字符串数据类型 |
char |
定长字符串,会用空格填充来达到最大长度。 |
CHAR |
CHAR |
CHAR |
nchar |
包含unicode格式数据的定长字符串。 |
CHAR |
CHAR |
CHAR |
|
varchar |
可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25);创建VARCHAR类型字段时,必须定义长度。 |
VARCHAR |
VARCHAR |
VARCHAR |
|
nvarchar |
与varchar类似,存储可变长度Unicode字符数据。 |
VARCHAR |
VARCHAR |
VARCHAR |
|
数值数据类型 |
int |
int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 |
INT |
INTEGER |
INT |
bigint |
bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 |
BIGINT |
BIGINT |
NUMBER |
|
smallint |
smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 |
SMALLINT |
SMALLINT |
NUMBER |
|
tinyint |
tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 |
TINYINT |
TINYINT |
NUMBER |
|
real |
可以存储正的或者负的十进制数值。 |
DOUBLE |
FLOAT4 |
NUMBER |
|
float |
其中为用于存储float数值尾数的位数(以科学计数法表示),因此可以确定精度和存储大小。 |
FLOAT |
FLOAT8 |
binary_float |
|
decimal |
带固定精度和小数位数的数值数据类型。 |
DECIMAL |
NUMERIC |
NUMBER |
|
numeric |
用于存储零、正负定点数。 |
DECIMAL |
NUMERIC |
NUMBER |
|
日期时间数据类型 |
date |
存储用字符串表示的日期数据。 |
DATE |
TIMESTAMP |
DATE |
time |
以字符串形式记录一天的某个时间。 |
不支持(String) |
TIME |
不支持 |
|
datetime |
用于存储时间和日期数据。 |
TIMESTAMP |
TIMESTAMP |
不支持 |
|
datetime2 |
datetime的扩展类型,其数据范围更大,默认的最小精度最高,并具有可选的用户定义的精度。 |
TIMESTAMP |
TIMESTAMP |
不支持 |
|
smalldatetime |
smalldatetime类型与datetime类型相似,只是其存储范围是从1900年1月1日到2079年6月6日,当日期时间精度较小时,可以使用smalldatetime,该类型数据占用4个字节的存储空间。 |
TIMESTAMP |
TIMESTAMP |
不支持 |
|
datetimeoffset |
用于定义一个采用24小时制与日期相组合并可识别时区的时间。 |
不支持(String) |
TIMESTAMP |
不支持 |
|
多媒体数据类型 (二进制) |
text |
用于存储文本数据。 |
不支持(String) |
不支持(String) |
不支持 |
netxt |
与text类型作用相同,为长度可变的非Unicode数据。 |
不支持(String) |
不支持(String) |
不支持 |
|
image |
长度可变的二进制数据,用于存储照片、目录图片或者图画。 |
不支持(String) |
不支持(String) |
不支持 |
|
binary |
长度为n个字节的固定长度二进制数据,其中n是从1~8000的值。 |
不支持(String) |
不支持(String) |
不支持 |
|
varbinary |
可变长度二进制数据。 |
不支持(String) |
不支持(String) |
不支持 |
|
货币数据类型 |
money |
用于存储货币值。 |
不支持(String) |
不支持(String) |
不支持 |
smallmoney |
与money类型相似,输入数据时在前面加上一个货币符号,如美元为$或其它定义的货币符号。 |
不支持(String) |
不支持(String) |
不支持 |
|
位数据类型 |
bit |
位数据类型,只取0或1为值,长度1字节。bit值经常当作逻辑值用于判断true(1)或false(0),输入非0值时系统将其替换为1。 |
不支持 |
不支持 |
不支持 |
其他数据类型 |
rowversion |
每个数据都有一个计数器,当对数据库中包含rowversion列的表执行插入或者更新操作时,该计数器数值就会增加。 |
不支持 |
不支持 |
不支持 |
uniqueidentifier |
16字节的GUID(Globally Unique Identifier,全球唯一标识符),是Sql Server根据网络适配器地址和主机CPU时钟产生的唯一号码,其中,每个为都是0~9或a~f范围内的十六进制数字。 |
不支持 |
不支持 |
不支持 |
|
cursor |
游标数据类型。 |
不支持 |
不支持 |
不支持 |
|
sql_variant |
用于存储除文本,图形数据和timestamp数据外的其它任何合法的Sql Server数据,可以方便Sql Server的开发工作。 |
不支持 |
不支持 |
不支持 |
|
table |
用于存储对表或视图处理后的结果集。 |
不支持 |
不支持 |
不支持 |
|
xml |
存储xml数据的数据类型。可以在列中或者xml类型的变量中存储xml实例。存储的xml数据类型表示实例大小不能超过2GB。 |
不支持 |
不支持 |
不支持 |
PostgreSQL数据库迁移时支持的数据类型
源端为PostgreSQL数据库,目的端为Hive、DWS、DLI时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
Hive |
DWS |
DLI |
---|---|---|---|---|---|
字符 |
char |
定长字符串,存储右空格填充到指定的长度。 |
CHAR |
CHAR |
不支持(String) |
varchar |
变长字符串,不会用空格将字段或变量填充至最大长度。 |
CARCHAR |
CARCHAR |
不支持(String) |
|
数值 |
smallint |
拓展名 int2,存储在2个字节中,它允许的范围是从-32768到32767。 |
SMALLINT |
SMALLINT |
SMALLINT |
int |
拓展名 int4,存储在4个字节中,它允许的范围是从-2147483648到2147483647。 |
INTEGER |
INT |
INT |
|
bigint |
拓展名 int8,存储在8个字节中,允许范围为-9223372036854775808到9223372036854775807。 |
BIGINT |
BIGINT |
BIGINT |
|
decimal(p,s) |
精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 |
DECIMAL(P,S) |
DECIMAL(P,S) |
DECIMAL(P,S) |
|
float |
4字节或8字节存储。float(n):n取值在1-24内,精度有效位数为6 位数,长度4 个字节,是单精度,n取值在25-53内,精度有效位数为15 位数,长度8 字节,是双精度。 |
FLOAT/DOUBLE |
FLOAT/DOUBLE |
FLOAT/DOUBLE |
|
smallserial |
序列数据类型,以smallint格式存储。 |
SMALLINT |
SMALLINT |
SMALLINT |
|
serial |
序列数据类型,以int格式存储。 |
INTEGER |
INT |
INT |
|
bigserial |
序列数据类型,以bigint格式存储。 |
BIGINT |
BIGINT |
BIGINT |
|
日期时间 |
date |
存储日期数据。 |
DATE |
DATE |
DATE |
timestamp |
存储日期和时间数据,无时区。 |
TIMESTAMP |
TIMESTAMP |
不支持(String) |
|
timestamptz |
存储日期和时间数据,有时区。 |
TIMESTAMP |
TIMESTAMPZ |
不支持(String) |
|
time |
只用于一日内时间,无时区。 |
不支持(String) |
TIME |
不支持(String) |
|
timez |
只用于一日内时间,有时区。 |
不支持(String) |
TIMEZ |
不支持(String) |
|
interval |
时间间隔。 |
不支持(String) |
不支持(String) |
不支持(String) |
|
位串类型 |
bit |
定长位串,例如: b'000101'。 |
不支持(String) |
不支持(String) |
不支持(String) |
varbit |
可变长位串,例如: b'101'。 |
不支持(String) |
不支持(String) |
不支持(String) |
|
货币类型 |
money |
存储在8个字节中,它允许的范围是从-922337203685477.5808到922337203685477.5807。 |
DOUBLE |
MONEY |
DECIMAL(P,S) |
布尔类型 |
boolean |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
BOOLEAN |
BOOLEAN |
BOOLEAN |
文本类型 |
text |
变长文本,无长度限制。 |
不支持(String) |
不支持(String) |
不支持(String) |
DWS数据库迁移时支持的数据类型
源端为DWS数据库时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
---|---|---|
字符 |
char |
定长字符串,存储右空格填充到指定的长度。 |
varchar |
变长字符串,不会用空格将字段或变量填充至最大长度。 |
|
数值 |
double |
用于存储指明双精度的浮点数。 |
decimal(p,s) |
精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 |
|
numeric |
用于存储零、正负定点数。 |
|
real |
与double相同。 |
|
int |
int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 |
|
bigint |
bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 |
|
smallint |
smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 |
|
tinyint |
tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 |
|
日期时间 |
date |
存储日期数据。 |
timestamp |
存储日期和时间数据,无时区。 |
|
time |
只用于一日内时间,无时区。 |
|
位串类型 |
bit |
定长位串,例如: b'000101'。 |
布尔类型 |
boolean |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
文本类型 |
text |
变长文本,无长度限制。 |
神通(ST)数据库迁移时支持的数据类型
源端为神通(ST)数据库,目的端为MRS Hive、MRS Hudi时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
存储格式示例 |
MRS Hive |
MRS Hudi |
---|---|---|---|---|---|
字符 |
VARCHAR |
用于存储指定定长字符串。 |
‘a’或‘aaaaa’ |
VARCHAR(765) |
STRING |
BPCHAR |
用于存储指定变长字符串。 |
‘a’或‘aaaaa’ |
VARCHAR(765) |
STRING |
|
数值 |
NUMERIC |
用于存储零、正负定点数。 |
52.36 |
DECIMAL(10,0) |
DECIMAL(18,0) |
INT |
用于存储零、正负定点数。 |
5236 |
INT |
INT |
|
BIGINT |
用于存储有符号整数,精度为19,标度为0。 |
5236 |
BIGINT |
BIGINT |
|
TINYINT |
用于存储有符号整数,精度为3,标度为0。 |
100 |
SMALLINT |
INT |
|
BINARY |
用于存储定长二进制数据。 |
0x2A3B4058 |
不支持 |
FLOAT |
|
VARBINARY |
用于存储可变长二进制数据。 |
0x2A3B4058 |
不支持 |
BINARY |
|
FLOAT |
用于存储带二进制精度的浮点数。 |
52.36 |
FLOAT |
FLOAT |
|
DOUBLE |
用于存储指明双精度的浮点数。 |
52.3 |
DOUBLE |
DOUBLE |
|
日期时间 |
DATE |
用于存储年、月、日信息。 |
'1999-10-01'、'1999/10/01'或'1999.10.01' |
DATE |
DATE |
TIME |
用于存储时、分、秒信息。 |
'09:10:21'或'9:10:21' |
STRING |
STRING |
|
TIMESTAMP |
用于存储年、月、日、时、分、秒信息。 |
'2002-12-12 09:10:21'、'2002-12-12 9:10:21'、 '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' |
TIMESTAMP |
TIMESTAMP |
|
多媒体 |
CLOB |
用于存储变长的二进制大对象,长度最大为2G-1字节。 |
0x5236(二进制数据) |
STRING |
STRING |
BLOB |
用于存储变长的二进制大对象,长度最大为2G-1字节。 |
0x5236(二进制数据) |
不支持 |
BINARY |
|
布尔类型 |
BOOLEAN |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
1 |
BOOLEAN |
BOOLEAN |
SAP HANA数据库迁移时支持的数据类型
源端为SAP HANA数据库时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
---|---|---|
字符 |
VARCHAR |
用于存储指定定长字符串。 |
NVARCHAR |
包含unicode格式数据的变长字符串。 |
|
TEXT |
用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 |
|
数值 |
BIGINT |
用于存储有符号整数,精度为19,标度为0。 |
TINYINT |
用于存储有符号整数,精度为3,标度为0。 |
|
SMALLINT |
SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 |
|
REAL |
可以存储正的或者负的十进制数值。 |
|
DECIMAL |
带固定精度和小数位数的数值数据类型。 |
|
FLOAT |
用于存储带二进制精度的浮点数。 |
|
DOUBLE |
用于存储指明双精度的浮点数。 |
|
日期时间 |
DATE |
用于存储年、月、日信息。 |
TIME |
用于存储时、分、秒信息。 |
|
TIMESTAMP |
用于存储年、月、日、时、分、秒信息。 |
|
多媒体 |
CLOB |
用于存储变长的二进制大对象,长度最大为2G-1字节。 |
NCLOB |
这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 |
|
布尔类型 |
BOOLEAN |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
DLI数据库迁移时支持的数据类型
源端为DLI数据库时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
---|---|---|
字符 |
CHAR |
用于存储指定定长字符串。 |
VARCHAR |
与CHAR相同。 |
|
STRING |
用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 |
|
数值 |
BIGINT |
用于存储有符号整数,精度为19,标度为0。 |
TINYINT |
用于存储有符号整数,精度为3,标度为0。 |
|
SMALLINT |
SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 |
|
INT |
用于存储有符号整数,精度为10,标度为0。 |
|
DECIMAL |
带固定精度和小数位数的数值数据类型。 |
|
FLOAT |
用于存储带二进制精度的浮点数。 |
|
DOUBLE |
用于存储指明双精度的浮点数。 |
|
日期时间 |
DATE |
用于存储年、月、日信息。 |
TIMESTAMP |
用于存储年、月、日、时、分、秒信息。 |
|
布尔类型 |
BOOLEAN |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
Elasticsearch/云搜索服务(CSS)数据库迁移时支持的数据类型
源端为Elasticsearch/云搜索服务(CSS)数据库时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
存储格式示例 |
MySQL |
---|---|---|---|---|
字符 |
keyword |
用于存储字符串。 |
“keyword” |
String |
text |
用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 |
“long string” |
TEXT |
|
string |
用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 |
“a string” |
String |
|
整数 |
short |
用于存储16位有符号整数,取值范围为-32768至32767。 |
32765 |
smallInt |
integer |
用于存储32位有符号整数,取值范围为-231至231-1。 |
3276566 |
int |
|
long |
用于存储64位有符号整数,取值范围为-263至263-1。 |
3276566666 |
BIGINT |
|
数值 |
double |
64位双精度IEEE 754浮点类型。 |
21.333 |
double |
float |
32位单精度IEEE 754浮点类型 。 |
21.333 |
double |
|
布尔类型 |
boolean |
存储在1个字节中,可以取值为 1、0 或 NULL。 |
1 |
Boolean |
对象 |
object |
扁平化存储对象的字符串。 |
{"users.name":["John","Smith"], users.age":[26,28], "users.gender":[1,2]} |
TEXT |
嵌套 |
nested |
嵌套存储对象的字符串。 |
{"users.name" : "John" , "users.age" : 26, "users.gender" : 1} { "users.name" : "Smith", "users.age" : 28, "users.gender" : 2} |
TEXT |
日期 |
date |
日期格式的字符串。 |
“2018-01-13”或“2018-01-13 12:10:30” |
DATE或timeStamp |
特殊 |
ip |
Ip地址格式的字符串。 |
“192.168.127.100” |
String |
数组 |
string_array |
全部是字符串的数组。 |
[“str”,“str”] |
TEXT |
short_array |
全部是16位整数的数组。 |
[1,1,1] |
TEXT |
|
integer_array |
全部是32位整数的数组。 |
[1,1,1] |
TEXT |
|
long_array |
全部是64位整数的数组。 |
[1,1,1] |
TEXT |
|
float_array |
全部是32位浮点数的数组。 |
[1.0,1.0,1.0] |
TEXT |
|
double_array |
全部是64位浮点数的数组。 |
[1.0,1.0,1.0] |
TEXT |
|
范围 |
completion |
自动补全的字符串。 |
“string” |
TEXT |
达梦数据库迁移时支持的数据类型
源端为达梦数据库,目的端为Hive、DWS时,支持的数据类型如下:
类别 |
类型 |
简要释义 |
存储格式示例 |
Hive |
DWS |
---|---|---|---|---|---|
字符 |
CHAR |
用于存储指定定长字符串。 |
‘a’或‘aaaaa’ |
CHAR |
CHAR |
CHARACTER |
与 CHAR 相同。 |
‘a’或‘aaaaa’ |
CHAR |
CHAR |
|
VARCHAR |
用于存储指定变长字符串. |
‘a’或‘aaaaa’ |
VARCHAR |
VARCHAR |
|
VARCHAR2 |
与 VARCHAR 相同。 |
‘a’或‘aaaaa’ |
VARCHAR |
VARCHAR |
|
数值 |
NUMERIC |
用于存储零、正负定点数。 |
52.36 |
DECIMAL |
NUMERIC |
DECIMAL |
与 NUMERIC 相似。 |
52.36 |
DECIMAL |
NUMERIC |
|
DEC |
与 DECIMAL 相同。 |
52.36 |
DECIMAL |
NUMERIC |
|
INTEGER |
用于存储有符号整数,精度为10,标度为0。 |
5236 |
INT |
INTEGER |
|
INT |
与 INTEGER 相同。 |
5236 |
INT |
INTEGER |
|
BIGINT |
用于存储有符号整数,精度为19,标度为0。 |
5236 |
BIGINT |
BIGINT |
|
TINYINT |
用于存储有符号整数,精度为3,标度为0。 |
100 |
TINYINT |
SMALLINT |
|
SMALLINT |
用于存储有符号整数,精度为5,标度为0。 |
9999 |
SMALLINT |
SMALLINT |
|
BYTE |
与 TINYINT 相似,精度为3,标度为0。 |
100 |
TINYINT |
SMALLINT |
|
BINARY |
用于存储定长二进制数据。 |
0x2A3B4058 |
BINARY(NULL) |
BYTEA(NULL) |
|
VARBINARY |
用于存储可变长二进制数据。 |
0x2A3B4058 |
BINARY(NULL) |
BYTEA(NULL) |
|
FLOAT |
用于存储带二进制精度的浮点数。 |
52.36 |
FLOAT |
FLOAT8 |
|
DOUBLE |
与FLOAT类似。 |
52.36 |
DOUBLE |
FLOAT8 |
|
REAL |
用于存储带二进制精度的浮点数,但它不能由用户指定使用的精度。 |
52.3 |
FLOAT |
FLOAT4 |
|
DOUBLE PRECISION |
用于存储指明双精度的浮点数。 |
52.3 |
DOUBLE |
FLOAT8 |
|
位串 |
BIT |
用于存储整数数据 1、0 或 NULL。 |
1、0 或 NULL |
TINYINT(1 0 NULL) |
BOOLEAN(true false NULL) |
日期时间 |
DATE |
用于存储年、月、日信息。 |
1999-10-01'、'1999/10/01'或'1999.10.01' |
DATE |
TIMESTAMP |
TIME |
用于存储时、分、秒信息。 |
'09:10:21'或'9:10:21' |
不支持(String) |
TIME |
|
TIMESTAMP |
用于存储年、月、日、时、分、秒信息。 |
2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' |
TIMESTAMP |
TIMESTAMP |
|
TIME WITH TIME ZONE |
用于存储一个带时区的 TIME 值,其定义是在 TIME 类型的后面加上时区信息。 |
'09:10:21 +8:00', '09:10:21+8:00'或'9:10:21+8:00' |
不支持(String) |
TIME WITH TIME ZONE |
|
TIMESTAMP WITH TIME ZONE |
用于存储一个带时区的 TIMESTAMP 值,其定义是TIMESTAMP类型的后面加上时区信息。 |
2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' |
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
|
TIMESTAMP WITH LOCAL TIME ZONE |
用于存储一个本地时区的 TIMESTAMP 值,能够将标准时区类型 TIMESTAMP WITH TIME ZONE 类型转化为本地时区类型。 |
2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' |
不支持(String) |
不支持(TEXT) |
|
DATETIME WITH TIME ZONE |
同TIMESTAMP WITH TIME ZONE。 |
2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' |
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
|
INTERVAL YEAR |
描述一个若干年的间隔,引导精度规定了年的取值范围。 |
INTERVAL '0015' YEAR |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL YEAR TO MONTH |
描述一个若干年若干月的间隔,引导精度规定了年的取值范围。 |
INTERVAL '0015-08' YEAR TO MONTH |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL MONTH |
描述一个若干月的间隔,引导精度规定了月的取值范围。 |
INTERVAL '0015' MONTH |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL DAY |
描述一个若干日的间隔,引导精度规定了日的取值范围。 |
INTERVAL '150' DAY |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL DAY TO HOUR |
描述一个若干日若干小时的间隔,引导精度规定了日的取值范围。 |
INTERVAL '9 23' DAY TO HOUR |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL DAY TO MINUTE |
描述一个若干日若干小时若干分钟的间隔,引导精度规定了日的取值范围。 |
INTERVAL '09 23:12' DAY TO MINUTE |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL DAY TO SECOND |
描述一个若干日若干小时若干分钟若干秒的间隔,引导精度规定了日的取值范围。 |
INTERVAL '09 23:12:01.1' DAY TO SECOND |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL HOUR |
描述一个若干小时的间隔,引导精度规定了小时的取值范围。 |
INTERVAL '150' HOUR |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL HOUR TO MINUTE |
描述一个若干小时若干分钟的间隔,引导精度规定了小时的取值范围。 |
INTERVAL '23:12' HOUR TO MINUTE |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL HOUR TO SECOND |
描述一个若干小时若干分钟若干秒的间隔,引导精度规定了小时的取值范围。 |
INTERVAL '23:12:01.1' HOUR TO SECOND |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL MINUTE |
描述一个若干分钟的间隔,引导精度规定了分钟的取值范围。 |
INTERVAL '150' MINUTE |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL MINUTE TO SECOND |
描述一个若干分钟若干秒的间隔,引导精度规定了分钟的取值范围。 |
INTERVAL '12:01.1' MINUTE TO SECOND |
不支持(String) |
不支持(VARCHAR) |
|
INTERVAL SECOND |
描述一个若干秒的间隔,引导精度规定了秒整数部分的取值范围。 |
INTERVAL '51.1' SECOND |
不支持(String) |
不支持(VARCHAR) |
|
多媒体 |
IMAGE |
IMAGE 用于指明多媒体信息中的图像类型。 图像由不定长的像素点阵组成,长度最大为 2G-1 字节。该类型除了存储图像数据之外,还可用于存储任何其它二进制数据。 |
0x2A3B4058 (二进制数据) |
不支持 |
不支持 |
LONGVARBINARY |
与IMAGE相同。 |
0x2A3B4059 (二进制数据) |
不支持 |
不支持 |
|
TEXT |
用于存储长字符串类型,其字符串的长度 最大为 2G-1,存储长的文本串。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
LONGVARCHAR |
与 TEXT 相似。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
BLOB |
用于存储变长的二进制大对象,长度最大为2G-1字节。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
CLOB |
用于存储变长的二进制大对象,长度最大为2G-1字节。 |
0x5236(二进制数据) |
不支持 |
不支持 |
|
BFILE |
用于指明存储在操作系统中的二进制文件, 文件存储在操作系统而非数 据库中,仅能进行只读访问。 |
- |
不支持 |
不支持 |