#全量校验数据类型说明

# 概述

本文档对全量校验支持的数据类型以及数据类型映射进行说明。

# 限制说明

  • 全量校验暂不支持其他数据类型映射的校验,若有其他数据类型映射的校验,将跳过不进行校验。
  • 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