#Oracle数据类型映射
# Oracle->YashanDB数据类型映射规则
顺序 | Oracle数据类型 | YashanDB类型 | 参数影响 | 存在风险 |
---|---|---|---|---|
1 | VARCHAR2(size [BYTE or CHAR]) | VARCHAR (size [BYTE or CHAR]) | size<当前数据库最大size 维持size大小 , 超过最大size size= 最大size | size超过YashanDB最大范围 |
2 | NVARCHAR2(N) | NVARCHAR(N) | size<当前数据库最大size 维持size大小, 超过最大size size= 最大size | size超过YashanDB最大范围 |
3 | NUMBER[ (p[, s]) ] | NUMBER | ||
4 | FLOAT[(p)] | FLOAT[(p)] | p<=48 FLOAT[P], p>48 YashanDB的23.1版本转换为NUMBER | |
5 | LONG | CLOB | ||
6 | DATE | DATE | ||
7 | BINARY_FLOAT | BINARY_FLOAT | ||
8 | BINARY_DOUBLE | BINARY_DOUBLE | ||
9 | TIMESTAMP[(M)] | TIMESTAMP | ||
10 | TIMESTAMP [(M)] WITH TIME ZONE | TIMESTAMP | ||
11 | TIMESTAMP [(M)] WITH LOCAL TIME ZONE | TIMESTAMP | ||
12 | INTERVAL YEAR [(M)] TO MONTH | INTERVAL YEAR [(M)] TO MONTH | ||
13 | INTERVAL DAY [(M)] TO SECOND [(N)] | INTERVAL DAY [(M)] TO SECOND [(N)] | 数值范围不一致 | |
14 | RAW(size) | RAW(size) | ||
15 | LONG RAW | BLOB | ||
16 | CHAR [(size [BYTE or CHAR])] | CHAR [(size [BYTE or CHAR])] | ||
17 | NCHAR[(size)] | NCHAR[size] | ||
18 | CLOB | VARCHAR/CLOB[默认] | ||
19 | NCLOB | NVARCHAR/NCLOB[默认] | ||
20 | BLOB | BLOB | ||
21 | JSON | JSON[默认]/CLOB | 超过YashanDB最大范围 | |
22 | XMLTYPE | CLOB | 数据迁移暂不支持此类型 | |
23 | INT/INTEGER/SMALLINT/DEC/NUMERIC/decimal 本质上都是NUMBER | NUMBER | ||
24 | DOUBLE PRECISION | NUMBER |
# 限制说明
- 不支持的数据类型:ROWID、UROWID、VARYING ARRAY、SDO_GEOMETRY、SDO_TOPO_GEOMETRY、SDO_GEORASTER、HTTPURIType、XDBURIType、DBURIType、BFILE等数据类型。
- JSON类型默认映射为JSON,目前仅支持小于等于32KB的数据迁移,如有大于32KB的数据需手动修改映射关系为CLOB。
- FLOAT类型,如果参数大于48,YashanDB的22.2版本会将其自动兼容为DOUBLE。
- DATE类型,由于两端数据迁移格式不一致,需要事先调整目标端数据库的日期格式。
-- 配置需重启后生效 alter system set date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
Copied!