不同類型的資料庫(異構資料庫)支援的資料類型不一樣,DTS在進行異構資料庫之間的資料同步時,會在結構初始化階段進行資料類型映射,即將源庫中的資料類型轉為目標庫支援的資料類型。本文為您列出詳細資料類型映射關係,便於您查閱和評估資料同步對業務的影響。
概覽
根據如下同步方案,查看異構資料庫間的資料類型映射關係:
以MySQL資料庫為源的資料同步
當來源資料庫類型為MySQL(如RDS MySQL、自建MySQL、PolarDB MySQL)、且目標執行個體為異構資料庫時(包括AnalyticDB for MySQL和2.0、雲原生資料倉儲AnalyticDB PostgreSQL版),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
目標執行個體為AnalyticDB for MySQL、雲原生資料倉儲AnalyticDB PostgreSQL版
類型 | 源執行個體的資料類型 | 數值範圍 | AnalyticDB for MySQL的資料類型 | 雲原生資料倉儲AnalyticDB PostgreSQL版的資料類型 |
整數類型 | BIT[(M)] | 1 ~ 64 | VARCHAR | BIT[(M)] |
TINYINT[(M)] | -128 ~ 127 | TINYINT | SMALLINT | |
TINYINT[(M)] [UNSIGNED] | 0 ~ 255 | SMALLINT | SMALLINT | |
SMALLINT[(M)] | -32768 ~ 32767 | SMALLINT | SMALLINT | |
SMALLINT[(M)] [UNSIGNED] | 0 ~ 65535 | INT | INTEGER | |
MEDIUMINT[(M)] | -8388608 ~ 8388607 | INT | INTEGER | |
MEDIUMINT[(M)] [UNSIGNED] | 0 ~ 16777215 | INT | INTEGER | |
INT[(M)] | -2147483648 ~ 2147483647 | INT | INTEGER | |
INT[(M)] [UNSIGNED] | 0 ~ 4294967295 | BIGINT | BIGINT | |
BIGINT[(M)] | -9223372036854775808 ~ 9223372036854775807 | BIGINT | BIGINT | |
BIGINT[(M)] [UNSIGNED] | 0 ~ 18446744073709551615 | DECIMAL(20,0) | NUMERIC(20) | |
小數類型 | DECIMAL[(M[,D])] | M:0~65 ; D:0~30 | DECIMAL[(M[,D])] | DECIMAL[(M[,D])] |
FLOAT(p) | 1.175494351E-38 ~ 3.402823466E+38 | FLOAT | REAL | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 ~ 1.7976931348623157E+308 | DOUBLE | DOUBLE PRECISION | |
時間類型 | DATE | 1000-01-01~9999-12-31 說明 格式為YYYY-MM-DD。 | DATE | DATE |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | DATETIME | TIMESTAMP | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | TIMESTAMP | TIMESTAMP WITH TIME ZONE | |
TIME[(fsp)] | -838:59:59.000000 ~ 838:59:59.000000 說明 格式為hh:mm:ss[.fraction](UTC時間)。 | TIME | TIMESTAMP WITH TIME ZONE | |
YEAR[(4)] | 1901 ~ 2155,或0000. | INT | INTEGER | |
字串類型 | CHAR[(M)] | 0 ~ 255 字元 | VARCHAR | CHAR |
VARCHAR(M) | 0 ~ 65,535 字元 | VARCHAR | VARCHAR | |
BINARY[(M)] | 0 ~ 255 位元組 | VARBINARY | BYTEA | |
VARBINARY(M) | 0 ~ 65,535 位元組 | VARBINARY | BYTEA | |
TINYBLOB | 255 (2^8 − 1) 位元組 | VARBINARY | BYTEA | |
TINYTEXT | 255 (2^8 − 1) 字元 | VARCHAR | TEXT | |
BLOB | 65,535 (2^16 − 1) 位元組 | VARBINARY | BYTEA | |
TEXT | 65,535 (2^16 − 1) 字元 | VARCHAR | TEXT | |
MEDIUMBLOB | 16,777,215 (2^24 − 1) 位元組 | VARBINARY | BYTEA | |
MEDIUMTEXT | 16,777,215 (2^24 − 1) 字元 | VARCHAR | TEXT | |
LONGBLOB | 4,294,967,295 or 4GB (2^32 − 1) 位元組 | VARBINARY | BYTEA | |
LONGTEXT | 4,294,967,295 or 4GB (2^32 − 1) 字元 | VARCHAR | TEXT | |
ENUM('value1','value2',...) | 最多可包含65,535枚舉值 | VARCHAR | VARCHAR(128) | |
SET('value1','value2',...) | 最多可包含64個元素 | VARCHAR | VARCHAR(128) | |
空間類型 | GEOMETRY | 任意幾何類型的值 | VARBINARY | POLYGON |
POINT | 無 | VARBINARY | POINT | |
LINESTRING | 無 | VARBINARY | PATH | |
POLYGON | 無 | VARBINARY | POLYGON | |
MULTIPOINT | 無 | VARBINARY | POLYGON | |
MULTILINESTRING | 無 | VARBINARY | PATH | |
MULTIPOLYGON | 無 | VARBINARY | POLYGON | |
GEOMETRYCOLLECTION | 任何幾何類型的值的集合 | VARBINARY | POLYGON | |
JSON類型 | JSON | 無 | JSON | JSON |
目標執行個體為DataHub、Kafka(阿里雲訊息佇列Kafka、自建Kafka)
類型 | 源執行個體的資料類型 | 數值範圍 | DataHub的資料類型 | 阿里雲訊息佇列Kafka、自建Kafka的資料類型 |
整數類型 | BIT[(M)] | 1 ~ 64 | BOOLEAN | STRING | 與MySQL、PolarDB MySQL的資料類型保持一致 |
TINYINT[(M)] | -128 ~ 127 | BIGINT | ||
TINYINT[(M)] [UNSIGNED] | 0 ~ 255 | BIGINT | ||
SMALLINT[(M)] | -32768 ~ 32767 | BIGINT | ||
SMALLINT[(M)] [UNSIGNED] | 0 ~ 65535 | BIGINT | ||
MEDIUMINT[(M)] | -8388608 ~ 8388607 | BIGINT | ||
MEDIUMINT[(M)] [UNSIGNED] | 0 ~ 16777215 | BIGINT | ||
INT[(M)] | -2147483648 ~ 2147483647 | BIGINT | ||
INT[(M)] [UNSIGNED] | 0 ~ 4294967295 | BIGINT | ||
BIGINT[(M)] | -9223372036854775808 ~ 9223372036854775807 | BIGINT | ||
BIGINT[(M)] [UNSIGNED] | 0 ~ 18446744073709551615 | BIGINT | ||
小數類型 | DECIMAL[(M[,D])] | M:0~65 ; D:0~30 | DECIMAL | |
FLOAT(p) | 1.175494351E-38 ~ 3.402823466E+38 | DOUBLE | ||
DOUBLE[(M,D)] | 2.2250738585072014E-308 ~ 1.7976931348623157E+308 | DOUBLE | ||
時間類型 | DATE | 1000-01-01~9999-12-31 說明 格式為YYYY-MM-DD。 | TIMESTAMP | |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | TIMESTAMP | ||
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | TIMESTAMP | ||
TIME[(fsp)] | -838:59:59.000000 ~ 838:59:59.000000 說明 格式為hh:mm:ss[.fraction](UTC時間)。 | STRING | ||
YEAR[(4)] | 1901 ~ 2155,或0000. | STRING | ||
字串類型 | CHAR[(M)] | 0 ~ 255 字元 | STRING | |
VARCHAR(M) | 0 ~ 65,535 字元 | STRING | ||
BINARY[(M)] | 0 ~ 255 位元組 | STRING | ||
VARBINARY(M) | 0 ~ 65,535 位元組 | STRING | ||
TINYBLOB | 255 (2^8 − 1) 位元組 | STRING | ||
TINYTEXT | 255 (2^8 − 1) 字元 | STRING | ||
BLOB | 65,535 (2^16 − 1) 位元組 | STRING | ||
TEXT | 65,535 (2^16 − 1) 字元 | STRING | ||
MEDIUMBLOB | 16,777,215 (2^24 − 1) 位元組 | STRING | ||
MEDIUMTEXT | 16,777,215 (2^24 − 1) 字元 | STRING | ||
LONGBLOB | 4,294,967,295 or 4GB (2^32 − 1) 位元組 | STRING | ||
LONGTEXT | 4,294,967,295 or 4GB (2^32 − 1) 字元 | STRING | ||
ENUM('value1','value2',...) | 最多可包含65,535元素 | STRING | ||
SET('value1','value2',...) | 最多可包含64個元素 | STRING | ||
空間類型 | GEOMETRY | 任意幾何類型的值 | STRING | |
POINT | 無 | STRING | ||
LINESTRING | 無 | STRING | ||
POLYGON | 無 | STRING | ||
MULTIPOINT | 無 | STRING | ||
MULTILINESTRING | 無 | STRING | ||
MULTIPOLYGON | 無 | STRING | ||
GEOMETRYCOLLECTION | 任何幾何類型的值的集合 | STRING | ||
JSON類型 | JSON | 無 | STRING |
目標執行個體為MaxCompute、Elasticsearch、ClickHouse
類型 | 源執行個體中的資料類型 | 數值範圍 | MaxCompute | Elasticsearch | ClickHouse |
整數類型 | BIT[(M)] | 1 ~ 64 | BOOLEAN | STRING | BOOLEAN | LONG 說明 如果只有一個位元組,建議在Elasticsearch中使用BOOLEAN。 | UInt8 |
TINYINT[(M)] | -128 ~ 127 | BIGINT | SHORT | Int8 | |
TINYINT[(M)] [UNSIGNED] | 0 ~ 255 | BIGINT | INTEGER | UInt8 | |
SMALLINT[(M)] | -32768 ~ 32767 | BIGINT | SHORT | Int16 | |
SMALLINT[(M)] [UNSIGNED] | 0 ~ 65535 | BIGINT | INTEGER | UInt16 | |
MEDIUMINT[(M)] | -8388608 ~ 8388607 | BIGINT | INTEGER | Int32 | |
MEDIUMINT[(M)] [UNSIGNED] | 0 ~ 16777215 | BIGINT | INTEGER | Int32 | |
INT[(M)] | -2147483648 ~ 2147483647 | BIGINT | INTEGER | Int32 | |
INT[(M)] [UNSIGNED] | 0 ~ 4294967295 | BIGINT | LONG | UInt32 | |
BIGINT[(M)] | -9223372036854775808 ~ 9223372036854775807 | BIGINT | LONG | Int64 | |
BIGINT[(M)] [UNSIGNED] | 0 ~ 18446744073709551615 | BIGINT | LONG | UInt64 | |
小數類型 | DECIMAL[(M[,D])] | M:0~65 ; D:0~30 | DOUBLE | DOUBLE 說明 如果DECIMAL的值帶有小數點,那麼為保障資料一致性,建議在Elasticsearch中使用TEXT。 | DECIMAL |
FLOAT(p) | 1.175494351E-38 ~ 3.402823466E+38 | DOUBLE | FLOAT | Float32 | |
DOUBLE[(M,D)] | 2.2250738585072014E-308 ~ 1.7976931348623157E+308 | DOUBLE | DOUBLE | Float64 | |
時間類型 | DATE | 1000-01-01~9999-12-31 說明 格式為YYYY-MM-DD。 | DATETIME | DATE 說明 格式為YYYY-MM-DD,詳情請參見date format的mapping定義。 | DATE32 |
DATETIME[(fsp)] | 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | DATETIME | DATE 說明 DATE格式為yyyy-MM-dd’T’HH:mm:ss(UTC時間)。如果精度為微秒,那麼格式為yyyy-MM-dd’T’HH:mm:ss.S,詳情請參見date format的mapping定義。 | DATETIME64 | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999 說明 格式為YYYY-MM-DD hh:mm:ss[.fraction](UTC時間)。 | DATETIME | DATE 說明 DATE格式為yyyy-MM-dd’T’HH:mm:ss(UTC時間)。如果精度為微秒,那麼格式為yyyy-MM-dd’T’HH:mm:ss.S,詳情請參見date format的mapping定義。 | DATETIME 說明 不包含時區資訊。 | |
TIME[(fsp)] | -838:59:59.000000 ~ 838:59:59.000000 說明 格式為hh:mm:ss[.fraction](UTC時間)。 | STRING | DATE 說明 格式為YYYY-MM-DD,詳情請參見date format的mapping定義。 | STRING | |
YEAR[(4)] | 1901 ~ 2155,或0000. | STRING | DATE 說明 DATE格式為yyyy,詳情請參見date format的mapping定義。 | Int16 | |
字串類型 | CHAR[(M)] | 0 ~ 255 字元 | STRING | TEXT | STRING |
VARCHAR(M) | 0 ~ 65,535 字元 | STRING | TEXT | STRING | |
BINARY[(M)] | 0 ~ 255 位元組 | STRING | BINARY | STRING | |
VARBINARY(M) | 0 ~ 65,535 位元組 | STRING | BINARY | STRING | |
TINYBLOB | 255 (2^8 − 1) 位元組 | STRING | BINARY | STRING | |
TINYTEXT | 255 (2^8 − 1) 字元 | STRING | TEXT | STRING | |
BLOB | 65,535 (2^16 − 1) 位元組 | STRING | BINARY | STRING | |
TEXT | 65,535 (2^16 − 1) 字元 | STRING | TEXT | STRING | |
MEDIUMBLOB | 16,777,215 (2^24 − 1) 位元組 | STRING | BINARY | STRING | |
MEDIUMTEXT | 16,777,215 (2^24 − 1) 字元 | STRING | TEXT | STRING | |
LONGBLOB | 4,294,967,295 or 4GB (2^32 − 1) 位元組 | STRING | BINARY | STRING | |
LONGTEXT | 4,294,967,295 or 4GB (2^32 − 1) 字元 | STRING | TEXT | STRING | |
ENUM('value1','value2',...) | 最多可包含65,535枚舉值 | STRING | KEYWORD | ENUM | |
SET('value1','value2',...) | 最多可包含64個元素 | STRING | KEYWORD | STRING | |
空間類型 | GEOMETRY | 任意幾何類型的值 | STRING | GEO_SHAPE | STRING |
POINT | 無 | STRING | GEO_POINT | STRING | |
LINESTRING | 無 | STRING | GEO_SHAPE | STRING | |
POLYGON | 無 | STRING | GEO_SHAPE | STRING | |
MULTIPOINT | 無 | STRING | GEO_SHAPE 說明 如果只有一個位元組,建議在Elasticsearch中使用BOOLEAN。 | STRING | |
MULTILINESTRING | 無 | STRING | GEO_SHAPE | STRING | |
MULTIPOLYGON | 無 | STRING | GEO_SHAPE | STRING | |
GEOMETRYCOLLECTION | 任何幾何類型的值的集合 | STRING | GEO_SHAPE | STRING | |
JSON類型 | JSON | 無 | STRING | OBJECT 說明 如果只有一個位元組,建議在Elasticsearch中使用BOOLEAN。 | STRING |
目標執行個體為Tablestore
源執行個體中的資料類型 | Tablestore對應的資料類型 |
INTEGER | INTEGER |
INT | INTEGER |
SMALLINT | INTEGER |
TINYINT | INTEGER |
MEDIUMINT | INTEGER |
BIGINT | INTEGER |
DECIMAL | DOUBLE |
NUMERIC | DOUBLE |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
BIT | BOOLEAN |
DATE | STRING或INTEGER 說明 預設為STRING。 |
TIMESTAMP | |
DATETIME | |
TIME | |
YEAR | |
CHAR | STRING |
VARCHAR | STRING |
BINARY | BINARY |
VARBINARY | BINARY |
TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB | BINARY |
TINYTEXT/TEXT/MEDIUMTEXT/LONGTEXT | STRING |
ENUM | STRING |
SET | STRING |
GEOMETRY | STRING |
POINT | STRING |
LINESTRING | STRING |
POLYGON | STRING |
MULTIPOINT | STRING |
MULTILINESTRING | STRING |
MULTIPOLYGON | STRING |
GEOMETRYCOLLECTION | STRING |
JSON | STRING |
目標執行個體為Lindorm
源執行個體中的資料類型 | Lindorm對應的資料類型 |
BOOLEAN | BOOLEAN |
BIT | BOOLEAN |
TINYINT | TINYINT |
SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
FLOAT | FLOAT |
DOUBLE | DOUBLE |
DECIMAL | DECIMAL |
CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT | CHAR/VARCHAR |
BINARY | BINARY |
BLOB | VARBINARY |
VARBINAY | VARBINARY |
TIMESTAMP | TIMESTAMP |
YEAR | INTEGER |
DATE | VARCHAR |
DATETIME | VARCHAR 重要
|
TIME | VARCHAR |
JSON | JSON |
以Oracle為源的資料同步
當源執行個體為自建Oracle,且目標執行個體為異構資料庫時(包括雲原生資料倉儲AnalyticDB PostgreSQL版),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
類型 | Oracle的資料類型 | 數值範圍 | 雲原生資料倉儲AnalyticDB PostgreSQL版的資料類型 |
數字類型 | NUMBER(p,s) | 1 ~ 22 位元組。 p代表精度位,取值範圍是1 ~ 38。 s代表小數位,取值範圍是-84 ~ 127。 | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT |
FLOAT(p) | 1 ~ 22 位元組。 p代表指標變數,取值範圍是1 ~ 126 bit。 | DOUBLE PRECISION | |
BINARY_FLOAT | 32-bit的浮點數,即4位元組。 | DOUBLE PRECISION | |
BINARY_DOUBLE | 64-bit的浮點數,即8位元組。 | DOUBLE PRECISION | |
日期類型 | DATE | 無 | TIMESTAMP(0) |
TIMESTAMP [(fractional_seconds_precision)] | 無 | TIMESTAMP | |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | 無 | TIMESTAMP WITH TIME ZONE | |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE | 無 | TIMESTAMP WITH TIME ZONE | |
INTERVAL YEAR [(year_precision)] TO MONTH | 無 | VARCHAR(32) | |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] | 無 | VARCHAR(32) | |
字串類型 | CHAR [(size [BYTE | CHAR])] | 2000 位元組。 | CHAR |
NCHAR[(size)] | 2000 位元組。 | VARCHAR | |
VARCHAR2(size [BYTE | CHAR]) | 當MAX_STRING_SIZE = EXTENDED時,最大長度為32767位元組; 當MAX_STRING_SIZE = STANDARD,最大長度為4000位元組。 | VARCHAR | |
NVARCHAR2(size) | 當MAX_STRING_SIZE = EXTENDED時,最大長度為32767位元組; 當MAX_STRING_SIZE = STANDARD,最大長度為4000位元組。 | VARCHAR | |
LONG | 最大長度2G(2^31-1)。 | TEXT | |
RAW(size) | 最大長度32767 位元組或2000位元組。 | BYTEA | |
LONG RAW | 最大長度2G。 | BYTEA | |
CLOB | 最大長度(4 GB -1)*DB_BLOCK_SIZE。 | TEXT | |
NCLOB | 最大長度(4 GB - 1)*DB_BLOCK_SIZE。 | TEXT | |
BLOB | 最大長度(4 GB - 1)*DB_BLOCK_SIZE。 | BYTEA | |
BFILE | 4G。 | 不支援 | |
JSON類型 | JSON | 最大長度32MB。 | JSON |
ROWID類型 | ROWID | 64字元。 | OID |
空間類型 | 需要自訂 | 不支援 |
對於雲原生資料倉儲AnalyticDB PostgreSQL版不支援欄位類型,DTS會將其直接轉為BYTEA,如果轉換不了則將資料內容置為NULL。
以PostgreSQL為源的資料同步
當源執行個體為PostgreSQL(包括自建PostgreSQL、RDS PostgreSQL),且目標執行個體為異構資料庫時(包括雲原生資料倉儲AnalyticDB PostgreSQL版),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
類型 | PostgreSQL的資料類型 | 數值範圍 | 雲原生資料倉儲AnalyticDB PostgreSQL版的資料類型 |
整數類型 | SMALLINT | -32768至+32767 | SMALLINT |
INTEGER | -2147483648至 +2147483647 | INTEGER | |
BIGINT | -9223372036854775808至+9223372036854775807 | BIGINT | |
小數類型 | DECIMAL | 最高小數點前131072位,以及小數點後16383位 | DECIMAL |
NUMERIC | 最高小數點前131072位,以及小數點後16383位 | NUMERIC | |
REAL | 6位十進位精度 | REAL | |
DOUBLE PRECISION | 15位十進位精度 | DOUBLE PRECISION | |
貨幣類型 | MONEY | -92233720368547758.08至+92233720368547758.07 | MONEY |
字串類型 | CHARACTER VARYING(n) | 無 | CHARACTER VARYING(n) |
CHARACTER(n) | 無 | CHARACTER(n) | |
TEXT | 無 | TEXT | |
CHAR | 預設為1位元組 | CHAR | |
NAME | 最大長度為64位元組 | NAME | |
文本搜尋類型 | TSQUERY | 表示一個文字查詢 | TEXT |
TSVECTOR | 表示一個為文本搜尋最佳化的形式下的文檔 | TEXT | |
位元據類型 | BYTEA | 1或4位元組外加真正的二進位串 | BYTEA |
日期類型 | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] | 表示日期和時間(無時區),佔用8位元組 | TIMESTAMP [ (p) ] [ WITHOUT TIME ZONE ] |
TIMESTAMP [ (p) ] WITH TIME ZONE | 表示日期和時間(有時區),佔用8位元組 | TIMESTAMP [ (p) ] WITH TIME ZONE | |
DATE | 表示日期,佔用4位元組 | DATE | |
TIME [ (p) ] [ WITHOUT TIME ZONE ] | 表示時間(無時區),佔用8位元組 | TIME [ (p) ] [ WITHOUT TIME ZONE ] | |
TIME [ (p) ] WITH TIME ZONE | 表示時間(有時區),佔用12位元組 | TIME [ (p) ] WITH TIME ZONE | |
interval [ fields ] [ (p) ] | 表示時間間隔,佔用16位元組 | interval [ fields ] [ (p) ] | |
布爾類型 | BOOLEAN | 1位元組 | BOOLEAN |
枚舉類型 | 自訂枚舉 | 無 | VARCHAR(128) |
空間類型 | POINT | 平面上的點,,最大長度為16位元組 | POINT |
LINE | 無限長的線,最大長度為32位元組 | LINE | |
LSEG | 有限線段,最大長度為32位元組 | LSEG | |
BOX | 矩形框,最大長度為32位元組 | BOX | |
PATH | 路徑,最大長度為16+16n位元組 | PATH | |
POLYGON | 多邊形(類似於封閉路徑) ,最大長度為40+16n位元組 | POLYGON | |
CIRCLE | 圓,最大長度為24位元組 | CIRCLE | |
網路地址類型 | CIDR | IPv4和IPv6網路,最大長度為7或19位元組 | CIDR |
INET | IPv4和IPv6主機以及網路,最大長度為7或19位元組 | INET | |
MACADDR | MAC地址,最大長度為6位元組 | MACADDR | |
MACADDR8 | MAC地址(EUI-64格式),最大長度為8 位元組 | MACADDR8 | |
位串類型 | Bit (n) | 無 | Bit (n) |
BIT VARYING (n) | 無 | BIT VARYING (n) | |
UUID類型 | UUID | 無 | VARCHAR(64) |
XML類型 | XML | 無 | XML |
JSON類型 | JSON | 無 | JSON |
JSONB | 無 | JSONB |
以SQL Server為源的資料同步
當源執行個體為SQL Server(包括自建SQL Server、RDS SQL Server),且目標執行個體為異構資料庫時(包括AnalyticDB for MySQL 、雲原生資料倉儲AnalyticDB PostgreSQL版、PostgreSQL、MySQL),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
類型 | SQL Server的資料類型 | 數值範圍 | 雲原生資料倉儲 AnalyticDB MySQL版的資料類型 | 雲原生資料倉儲AnalyticDB PostgreSQL版的資料類型 | PostgreSQL的資料類型 | MySQL的資料類型 |
整數類型 | BIT | 可以取值為1、0或NULL的INTEGER資料類型 | BOOLEAN | BIT(1) | BIT | |
TINYINT | 0至255 | TINYINT | SMALLINT | TINYINT | ||
SMALLINT | -2^15(-32768)至2^15-1(32767) | SMALLINT | SMALLINT | SMALLINT | ||
INT | -2^31(-2147483648)至2^31-1(2147483647) | INTEGER | INTEGER | INT | ||
BIGINT | -2^63(-9223372036854775808)至2^63-1(9223372036854775807) | BIGINT | BIGINT | BIGINT | ||
小數類型 | NUMERIC[ (p[ ,s] )] | -10^38+1至10^38-1; 1<=p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] | |
DECIMAL[ (p[ ,s] )] | -10^38+1至10^38-1; 1<= p<=38 | DECIMAL | DECIMAL | DECIMAL[ (p[ ,s] )] | ||
FLOAT | -1.79E+308至-2.23E -308、0 以及2.23E-308至1.79E+308 | DOUBLE | DOUBLE PRECISION | DOUBLE | ||
REAL | -3.40E+38至-1.18E- 38、0 以及1.18E-38至3.40E +38 | FLOAT | REAL | DOUBLE | ||
貨幣類型 | MONEY | -922,337,203,685,477.5808至922,337,203,685,477.5807 | DECIMAL(19, 4) | DECIMAL(19, 4) | DECIMAL | |
SMALLMONEY | -214,748.3648至214,748.3647 | DECIMAL(10, 4) | DECIMAL(10, 4) | DECIMAL | ||
日期類型 | DATE | 0001-01-01至9999-12-31 | DATE | DATE | DATE | |
DATETIME | 日期範圍為1753年1月1日至9999年12月31日; 時間範圍為00:00:00至 23:59:59.997 | DATETIME | TIMESTAMP(3) WITHOUT TIME ZONE | DATETIME | ||
DATETIME2[ (fractional seconds precision) ] | 日期範圍為公元1年1月1日至公元9999年12月31日; 時間範圍為00:00:00至23:59:59.9999999 | DATETIME | TIMESTAMP(7) WITHOUT TIME ZONE | DATETIME | ||
DATETIMEOFFSET [ (fractional seconds precision) ] | 日期範圍公元1年1月1日至公元9999年12月31日; 時間範圍為00:00:00至 23:59:59.9999999; 時區位移量範圍-14:00至+14:00 | TIMESTAMP | TIMESTAMP(7) WITH TIME ZONE | DATETIME | ||
SMALLDATETIME | 秒始終為零 (:00),並且不帶秒小數部分 | DATETIME | TIMESTAMP WITHOUT TIME ZONE | DATETIME | ||
TIME [ (fractional second scale) ] | 00:00:00.0000000至23:59:59.9999999 | TIME | TIME(7) WITH TIME ZONE | TIME | ||
字串類型 | BINARY [ ( n ) ] | n取值範圍為1~8,000 | VARBINARY | BYTEA | BINARY | |
VARBINARY [ ( n | max) ] | n取值範圍為1~8,000;max代表最大儲存大小是2^31-1 個位元組 | VARBINARY | BYTEA | VARBINARY | ||
CHAR [ ( n ) ] | n取值範圍為1~8,000,儲存大小為n個位元組 | VARCHAR | CHARACTER |
| ||
VARCHAR [ ( n | max ) ] | n取值範圍為1~8,000;max代表最大儲存大小是 2^31-1 個位元組(2GB) | VARCHAR | CHARACTER |
| ||
NCHAR [ ( n ) ] | 以雙位元組為單位,n 取值範圍為1至4,000,儲存大小為 n位元組的兩倍 | VARCHAR | CHARACTER VARYING | VARCHAR(200) | ||
NVARCHAR [ ( n | max ) ] | 以雙位元組為單位,n取值範圍為1至4,000,max代表最大儲存大小是2^30-1個字(2 GB) | VARCHAR | CHARACTER VARYING |
| ||
NTEXT | 長度可變的Unicode 資料,字串最大長度為2^30-1(1073741823)個位元組 | VARCHAR | TEXT | TEXT | ||
TEXT | 字串最大長度為2^31-1(2147483647)個位元組 | VARCHAR | TEXT | TEXT | ||
IMAGE | 長度可變的位元據,從0到2^31-1(2147483647)個位元組。 | VARBINARY | BYTEA | BLOB | ||
空間和幾何類型 | GEOGRAPHY | 無 | VARCHAR | 不支援 | BLOB | |
GEOMETRY | 無 | VARCHAR | 不支援 | BLOB | ||
XML類型 | XML ( [ CONTENT | DOCUMENT ] xml_schema_collection ) | 無 | VARCHAR | XML | TEXT | |
其他類型 | UNIQUEIDENTIFIER | 無 | VARCHAR | CHARACTER(36) | VARCHAR(200) | |
SQL_VARIANT | 無 | 不支援 | 不支援 | VARCHAR(200) | ||
HIERARCHYID | 無 | 不支援 | 不支援 | VARCHAR(200) | ||
SYSNAME | 無 | VARCHAR | CHARACTER VARYING(128) | VARCHAR(200) |
以Db2 for LUW為源的資料同步
當源執行個體為Db2 for LUW,且目標執行個體為異構資料庫時(包括MySQL),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
類型 | Db2 for LUW資料類型 | 數值範圍 | MySQL的資料類型 |
整數類型 | SMALLINT | -32,768~+32,767 | SMALLINT |
INTEGER | -2,147,483,648~+2,147,483,647 | INT | |
BIGINT | -9,223,372,036,854,775,808~ +9,223,372,036,854,775,807 | BIGINT | |
小數類型 | DECIMAL(precision-integer, scale-integer) | p<=38 | DECIMAL |
FLOAT(integer) | 取值範圍為1~53,取值在1~24表示為單精確度,取值在25~53表示為雙精確度 | FLOAT | |
DECFLOAT(precision-integer) | 無 | DECIMAL(65,10) | |
日期類型 | DATE | 0001-01-01~9999-12-31 | DATE |
TIME | 00:00:00~24:00:00 | TIME | |
TIMESTAMP(integer) | 0001-01-01-00.00.00.000000000000~9999-12-31-24.00.00.000000000000;0<=p<= 12 | DATETIME | |
字串類型 | CHARACTER(integer) | 254 | CHAR | VARCHAR |
VARCHAR(integer) | 32,672 | VARCHAR | |
CHARACTER(integer) FOR BIT DATA | 254 | BLOB | |
CLOB | 2,147,483,647 | LONGTEXT | |
GRAPHIC(integer) | 127 | CHAR(length*4) | |
VARGRAPHIC(integer) | 16,336 | CHAR(length*4) | |
DBCLOB(integer) | 1,073,741,823 | VARCHAR | LONGTEXT | |
BLOB | 2,147,483,647 | LONGBLOB | |
其他類型 | XML | 2,147,483,647 | VARCHAR | LONGTEXT |
以Db2 for i為源的資料同步
當源執行個體為Db2 for i,且目標執行個體為異構資料庫時(包括MySQL),兩者間的資料類型映射關係如下:
如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。
類型 | Db2 for i資料類型 | 數值範圍 | MySQL中的資料類型 |
整數類型 | SMALLINT | -32,768~+32,767 | SMALLINT |
INTEGER | -2,147,483,648~+2,147,483,647 | INT | |
BIGINT | -9,223,372,036,854,775,808~ +9,223,372,036,854,775,807 | BIGINT | |
小數類型 | DECIMAL(precision-integer, scale-integer) | p<=63 | DECIMAL |
NUMERIC | 無 | DECIMAL | |
FLOAT(integer) | 無 | FLOAT | |
DECFLOAT(precision-integer) | 無 | DECIMAL(65,10) | |
日期類型 | DATE | 0001-01-0~9999-12-31 | DATE |
TIME | 00:00:00~24:00:00 | TIME | |
TIMESTAMP(integer) | 0001-01-01-00.00.00.000000000000~9999-12-31-24.00.00.000000000000;0 <=p <=12 | DATETIME | |
字串類型 | CHAR(integer) | 32,765 | CHAR | VARCHAR |
VARCHAR(integer) | 32,739 | VARCHAR | |
CHAR(integer) FOR BIT DATA | 無 | BLOB | |
CLOB | 2,147,483,647 | LONGTEXT | |
GRAPHIC(integer) | 16,382 | CHAR | |
VARGRAPHIC(integer) | 16,369 | VARCHAR | |
DBCLOB(integer) | 1,073,741,823 | LONGTEXT | |
BINARY | 32,765 | BINARY | |
VARBIN | 32,739 | VARBINARY | |
BLOB | 2,147,483,647 | LONGBLOB | |
其他類型 | DATALINK | 無 | VARCHAR | LONGTEXT |
ROWID | 40 | VARCHAR | LONGTEXT | |
XML | 2,147,483,647 | VARCHAR | LONGTEXT |
以TiDB為源的資料同步
當源執行個體為自建TiDB,且目標執行個體為異構資料庫時(如AnalyticDB MySQL 3.0),兩者間的資料類型映射關係如下:
TiDB資料類型 | MySQL的資料類型 |
BIGINT | BIGINT |
BIGINT UNSIGNED | DECIMAL(20,0) |
BINARY | BINARY |
BIT | BIT |
BOOL\ BOOLEAN | TINYINT |
CHAR | CHAR |
DATE | DATE |
DATETIME | DATETIME |
DECIMAL | DECIMAL |
DOUBLE | DOUBLE |
ENUM | ENUM |
FLOAT | FLOAT |
INT | INT |
INT UNSIGNED | BIGINT |
INTEGER | INTEGER |
JSON | JSON |
MEDIUMBLOB/LONGBLOB TINYBLOB/BLOB/ | MEDIUMBLOB/LONGBLOB TINYBLOB/BLOB/ |
MEDIUMINT | MEDIUMINT |
SET | SET |
SMALLINT | SMALLINT |
SMALLINT UNSIGNED | INT |
TEXT/LONGTEXT | TEXT/LONGTEXT |
TIME | TIME |
TIMESTAMP | TIMESTAMP |
TINYINT | TINYINT |
TINYINT UNSIGNED | SMALLINT |
VARBINARY | VARBINARY |
VARCHAR | VARCHAR |
YEAR | YEAR |