Oracle与Doris字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型,并以此完成自动建表和实时同步。
字段类型映射规则
当源端为Oracle,目的端为Doris时,支持的字段类型请参见下表,以确保数据完整同步到目的端。
类别 |
数据类型(Oracle) |
数据类型(Doris) |
说明 |
---|---|---|---|
字符串 |
CHAR(M) |
CHAR(M) |
定长字符串,空格填充。 |
NCHAR(M) |
CHAR(M) |
定长字符串,空格填充。 |
|
VARCHAR2(M) |
VARCHAR(M) |
变长字符串。 |
|
NVARCHAR2(M) |
VARCHAR(M) |
变长字符串。 |
|
ROWID |
TEXT |
变长字符串。 |
|
UROWID |
TEXT |
变长字符串。 |
|
数值 |
NUMBER(M,D) |
DECIMAL(M,D)/STRING |
可选择精度的精确数字。 目标端配置-高级配置可设置参数targetVersion指定Doris版本号。 当targetVersion >= 1.2.1时, M最大值为38。 当targetVersion < 1.2.1时,M最大值为27。 当源端M超过最大值时,由TEXT承载。 |
DECIMAL(M,D) |
DECIMAL(M,D)/TEXT |
与NUMBER等效。 |
|
NUMERIC(M,D) |
DECIMAL(M,D)/TEXT |
与NUMBER等效。 |
|
FLOAT(M) |
DOUBLE/TEXT |
当M > 53时,Oracle FLOAT精度超过Doris DOUBLE类型精度,由STRING承载。 当M <= 53时,为DOUBLE。 |
|
BINARY_FLOAT |
FLOAT |
单精度浮点数(4字节)。 |
|
BINARY_DOUBLE |
DOUBLE |
双精度浮点数(8字节)。 |
|
日期时间 |
DATE |
DATETIME |
日期时间。 |
TIMESTAMP(M) |
DATETIME(M)/TEXT |
日期时间。 M <= 6时,为DATETIME。 M > 6,为TEXT。 |
|
TIMESTAMP(M) WITH TIME ZONE |
DATETIME(M)/TEXT |
日期时间。 M <= 6时,为DATETIME。 M > 6,为TEXT。 |
|
TIMESTAMP(M) WITH LOCAL TIME ZONE |
DATETIME(M)/TEXT |
日期时间。 M <= 6时,为DATETIME。 M > 6,为TEXT。 |
|
二进制 |
BLOB |
TEXT |
变长字符串。 |
CLOB |
TEXT |
变长字符串。 |
|
NCLOB |
TEXT |
变长字符串。 |
|
RAW |
TEXT |
变长字符串。 |
|
LONG |
TEXT |
变长字符串。 |
|
LONG RAW |
TEXT |
变长字符串。 |