全部產品
Search
文件中心

Data Transmission Service:結構初始化涉及的資料類型映射關係

更新時間:Sep 06, 2024

不同類型的資料庫(異構資料庫)支援的資料類型不一樣,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

重要
  • 建議在目標端將其映射為VARCHAR類型。

  • 若您需要將其映射為TIMESTAMP類型,可能會因為時區問題而導致資料不一致。建議您在配置任務過程中,使用ETL功能來確保資料的一致性。

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版、MySQL),兩者間的資料類型映射關係如下:

說明

如源執行個體中待同步資料範圍超出DTS所支援的範圍,則會導致目標執行個體中的所寫入資料的精度降低。

類型

SQL Server的資料類型

數值範圍

AnalyticDB for MySQL的資料類型

雲原生資料倉儲AnalyticDB 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

FLOAT

貨幣類型

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

  • 當length > 65535時:text

  • 當65535 ≥ length > 255時:varcahr

  • 其他:char

VARCHAR [ ( n | max ) ]

n取值範圍為1~8,000;max代表最大儲存大小是 2^31-1 個位元組(2GB)

VARCHAR

CHARACTER

  • 當length > 65535時:text

  • 其他:varcahr

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

  • 當length > 65535時:text

  • 其他:varcahr

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