#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

# 限制说明

  1. 不支持的数据类型:ROWID、UROWID、VARYING ARRAY、SDO_GEOMETRY、SDO_TOPO_GEOMETRY、SDO_GEORASTER、HTTPURIType、XDBURIType、DBURIType、BFILE等数据类型。
  2. JSON类型默认映射为JSON,目前仅支持小于等于32KB的数据迁移,如有大于32KB的数据需手动修改映射关系为CLOB。
  3. FLOAT类型,如果参数大于48,YashanDB的22.2版本会将其自动兼容为DOUBLE。
  4. DATE类型,由于两端数据迁移格式不一致,需要事先调整目标端数据库的日期格式。
     -- 配置需重启后生效
     alter system set date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
    
    Copied!
pdf-btn 下载文档
copy-btn 复制链接