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 | 变长字符串。 |

