概述
本文档对全量校验支持的数据类型以及数据类型映射进行说明。
限制说明
- 全量校验暂不支持其他数据类型映射的校验,若有其他数据类型映射的校验,将跳过不进行校验。
- Oracle不支持校验的数据类型:JSON、XMLTYPE、自定义数据类型。
- DM不支持校验的数据类型:IMAGE、自定义数据类型。
- MySQL不支持校验的数据类型:JSON、ENUM、SET、自定义数据类型。
数据类型
DM数据类型映射
序号 | DM数据类型 | YashanDB类型 |
1 | BIT | BIT |
2 | BYTE | TINYINT |
3 | TINYINT | TINYINT |
4 | SMALLINT | SMALLINT |
5 | INT | INT |
6 | INTEGER | INTEGER |
7 | BIGINT | BIGINT |
8 | DEC | NUMBER |
9 | DECIMAL | NUMBER |
10 | REAL | DOUBLE |
11 | FLOAT | FLOAT |
12 | DOUBLE | DOUBLE |
13 | DOUBLE PRECISION | DOUBLE |
14 | NUMBER | NUMBER |
15 | NUMERIC | NUMBER |
16 | CHAR[(M) char] | CHAR[(M) char] |
17 | CHARACTER[(M) char] | CHAR[(M) char] |
18 | VARCHAR[(M) char] | VARCHAR[(M) char] /VARCHAR[(4*M)] |
19 | VARCHAR2 [(M) char] | VARCHAR[(M) char] /VARCHAR[(4*M)] |
20 | NVARCHAR [(M) char] | NVARCHAR[(M) ] |
21 | NVARCHAR2 [(M) char] | NVARCHAR2[(M) ] |
22 | NCHAR [(M)] | NCHAR[(M) ] |
23 | INTERVAL DAY TO SECOND | INTERVAL DAY TO SECOND |
24 | INTERVAL YEAR TO MONTH | INTERVAL YEAR TO MONTH |
25 | DATE | DATE |
26 | TIME | TIME |
27 | DATETIME[(M)] | TIMESTAMP[(M)] |
28 | TIMESTAMP[(M)] | TIMESTAMP[(M)] |
29 | TIME WITH TIME ZONE | TIME |
30 | TIMESTAMP WITH LOCAL TIME ZONE | TIMESTAMP |
31 | TIMESTAMP WITH TIME ZONE | TIMESTAMP |
32 | DATETIME WITH TIME ZONE | TIMESTAMP |
33 | RAW | RAW |
34 | LONG | CLOB |
35 | BLOB | BLOB |
36 | CLOB | CLOB |
37 | LONGVARBINARY | BLOB |
38 | LONGVARCHAR | CLOB |
39 | TEXT | CLOB |
Oracle数据类型映射
序号 | Oracle数据类型 | YashanDB类型 |
1 | VARCHAR2(size [BYTE or CHAR]) | VARCHAR (size [BYTE or CHAR]) |
2 | NVARCHAR2(N) | NVARCHAR(N) |
3 | NUMBER[ (p[, s]) ] | NUMBER |
4 | FLOAT[(p)] | FLOAT[(p)] |
5 | DATE | DATE |
6 | BINARY_FLOAT | BINARY_FLOAT |
7 | BINARY_DOUBLE | BINARY_DOUBLE |
8 | TIMESTAMP[(M)] | TIMESTAMP |
9 | TIMESTAMP [(M)] WITH TIME ZONE | TIMESTAMP |
10 | TIMESTAMP [(M)] WITH LOCAL TIME ZONE | TIMESTAMP |
11 | INTERVAL YEAR [(M)] TO MONTH | INTERVAL YEAR [(M)] TO MONTH |
12 | INTERVAL DAY [(M)] TO SECOND [(N)] | INTERVAL DAY [(M)] TO SECOND [(N)] |
13 | CHAR [(size [BYTE or CHAR])] | CHAR [(size [BYTE or CHAR])] |
14 | NCHAR[(size)] | NCHAR[size] |
15 | INT/INTEGER/SMALLINT/DEC/NUMERIC/decimal 本质上都是NUMBER | NUMBER |
16 | DOUBLE PRECISION | NUMBER |
17 | RAW(size) | RAW(size) |
18 | LONG RAW | LONG RAW |
19 | CLOB | CLOB |
20 | NCLOB | NCLOB |
21 | BLOB | BLOB |
22 | LONG | CLOB |
MySQL数据类型映射
序号 | MySQL数据类型 | YashanDB类型 |
1 | INT | INT |
2 | TINYINT | TINYINT |
3 | SMALLINT | SMALLINT |
4 | MEDIUMINT | INT |
5 | BIGINT | BIGINT |
6 | TINYINT UNSIGNED | SMALLINT |
7 | SMALLINT UNSIGNED | INTEGER |
8 | MEDIUMINT UNSIGNED | INTEGER |
9 | INT UNSIGNED | BIGINT |
10 | BIGINT UNSIGNED | NUMBER |
11 | VARCHAR | VARCHAR |
12 | CHAR | CHAR |
13 | FLOAT | FLOAT |
14 | DECIMAL | NUMBER |
15 | DOUBLE | DOUBLE |
16 | DATE | DATE |
17 | TIME | VARCHAR |
18 | DATETIME | TIMESTAMP |
19 | TIMESTAMP | TIMESTAMP |
20 | YEAR | SMALLINT |
21 | BINARY | BLOB |
22 | VARBINARY | BLOB |
23 | TINYBLOB | BLOB |
24 | TINYTEXT | CLOB |
25 | BLOB | BLOB |
26 | TEXT | CLOB |
27 | MEDIUMBLOB | BLOB |
28 | MEDIUMTEXT | CLOB |
29 | LONGBLOB | BLOB |
30 | LONGTEXT | CLOB |
MySQL TO YASHANDB(MySQL模式)数据类型映射
序号 | MySQL数据类型 | YashanDB类型 |
1 | INT | INT |
2 | TINYINT | TINYINT |
3 | SMALLINT | SMALLINT |
4 | MEDIUMINT | INT |
5 | BIGINT | BIGINT |
6 | TINYINT UNSIGNED | SMALLINT |
7 | SMALLINT UNSIGNED | INTEGER |
8 | MEDIUMINT UNSIGNED | INTEGER |
9 | INT UNSIGNED | BIGINT |
10 | BIGINT UNSIGNED | NUMBER |
11 | VARCHAR | VARCHAR |
12 | CHAR | CHAR |
13 | FLOAT | FLOAT |
14 | DECIMAL | NUMBER |
15 | DOUBLE | DOUBLE |
16 | DATE | DATE |
17 | TIME | TIME |
18 | DATETIME | TIMESTAMP |
19 | TIMESTAMP | TIMESTAMP |
20 | YEAR | SMALLINT |
21 | BINARY | BLOB |
22 | VARBINARY | BLOB |
23 | TINYBLOB | BLOB |
24 | TINYTEXT | CLOB |
25 | BLOB | BLOB |
26 | TEXT | CLOB |
27 | MEDIUMBLOB | BLOB |
28 | MEDIUMTEXT | CLOB |
29 | LONGBLOB | BLOB |
30 | LONGTEXT | CLOB |