
# Oracle与Doris字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型，并以此完成自动建表和实时同步。
#### 字段类型映射规则
当源端为Oracle，目的端为Doris时，支持的字段类型请参见下表，以确保数据完整同步到目的端。
表1Oracle \> 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。                                                                                                                                                                                     |
   
