Tous les produits
Search
Centre de documentation

Data Transmission Service:Mappages des types de données pour les bases de données hétérogènes

Dernière mise à jour :Aug 10, 2026

Les bases de données hétérogènes prennent en charge différents types de données. Lors de la migration du schéma, Data Transmission Service (DTS) mappe les types de données source vers les types pris en charge par la base de données de destination. Utilisez ces mappages pour évaluer l'impact de la migration des données sur vos charges de travail.

Vue d'ensemble

Consultez les mappages des types de données correspondant à votre scénario de migration :

Important

Si le champ source utilise le type TIMESTAMP WITH TIME ZONE et que le champ de destination utilise un type différent tel que DATETIME, les informations de fuseau horaire sont perdues.

Migration des données depuis PolarDB for MySQL, RDS for MySQL et MySQL auto-géré

Les tableaux suivants répertorient les mappages des types de données lors de la migration depuis PolarDB for MySQL, RDS for MySQL ou MySQL auto-géré vers AnalyticDB for MySQL et 2.0, ou vers AnalyticDB for PostgreSQL.

Remarque

Si les données source dépassent la plage prise en charge par DTS, la précision des données migrées dans la destination est réduite.

L'instance de destination est AnalyticDB for MySQL ou AnalyticDB for PostgreSQL

Catégorie

Type de données de l'instance source

Plage de valeurs

Type de données AnalyticDB for MySQL

Type de données AnalyticDB for PostgreSQL

Types entiers

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)

Types décimaux

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

Types temporels

DATE

1000-01-01 à 9999-12-31

Remarque

Le format est AAAA-MM-JJ.

DATE

DATE

DATETIME[(fsp)]

1000-01-01 00:00:00,000000 à 9999-12-31 23:59:59,999999

Remarque

Le format est AAAA-MM-JJ hh:mm:ss[.fraction] (UTC).

DATETIME

TIMESTAMP

TIMESTAMP[(fsp)]

1970-01-01 00:00:01,000000 à 2038-01-19 03:14:07,999999

Remarque

Le format est AAAA-MM-JJ hh:mm:ss[.fraction] (UTC).

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIME[(fsp)]

-838:59:59,000000 à 838:59:59,000000

Remarque

Le format est hh:mm:ss[.fraction] (UTC).

TIME

TIME WITHOUT TIME ZONE

YEAR[(4)]

1901 à 2155, ou 0000

INT

INTEGER

Types chaîne

CHAR[(M)]

0 à 255 caractères

VARCHAR

CHAR

VARCHAR(M)

0 à 65 535 caractères

VARCHAR

VARCHAR

BINARY[(M)]

0 à 255 octets

VARBINARY

BYTEA

VARBINARY(M)

0 à 65 535 octets

VARBINARY

BYTEA

TINYBLOB

255 (2^8 - 1) octets

VARBINARY

BYTEA

TINYTEXT

255 (2^8 - 1) caractères

VARCHAR

TEXT

BLOB

65 535 (2^16 - 1) octets

VARBINARY

BYTEA

TEXT

65 535 (2^16 - 1) caractères

VARCHAR

TEXT

MEDIUMBLOB

16 777 215 (2^24 - 1) octets

VARBINARY

BYTEA

MEDIUMTEXT

16 777 215 (2^24 - 1) caractères

VARCHAR

TEXT

LONGBLOB

4 294 967 295 ou 4 Go (2^32 - 1) octets

VARBINARY

BYTEA

LONGTEXT

4 294 967 295 ou 4 Go (2^32 - 1) caractères

VARCHAR

TEXT

ENUM('value1','value2',...)

Jusqu'à 65 535 valeurs d'énumération

VARCHAR

VARCHAR(128)

SET('value1','value2',...)

Jusqu'à 64 éléments

VARCHAR

VARCHAR(128)

Types spatiaux

GEOMETRY

Valeur de n'importe quel type géométrique

VARBINARY

POLYGON

POINT

Aucune

VARBINARY

POINT

LINESTRING

Aucune

VARBINARY

PATH

POLYGON

Aucune

VARBINARY

POLYGON

MULTIPOINT

Aucune

VARBINARY

POLYGON

MULTILINESTRING

Aucune

VARBINARY

PATH

MULTIPOLYGON

Aucune

VARBINARY

POLYGON

GEOMETRYCOLLECTION

Une collection de valeurs de n'importe quel type géométrique

VARBINARY

POLYGON

Type JSON

JSON

Aucune

JSON

JSON

Instances de destination : DataHub et Kafka

Type

Source type

Value range

DataHub type

Kafka type

Integer

BIT[(M)]

1 to 64

BOOLEAN | STRING

Same as the data types in MySQL and PolarDB for MySQL.

TINYINT[(M)]

-128 to 127

BIGINT

TINYINT[(M)] [UNSIGNED]

0 to 255

BIGINT

SMALLINT[(M)]

-32768 to 32767

BIGINT

SMALLINT[(M)] [UNSIGNED]

0 to 65535

BIGINT

MEDIUMINT[(M)]

-8388608 to 8388607

BIGINT

MEDIUMINT[(M)] [UNSIGNED]

0 to 16777215

BIGINT

INT[(M)]

-2147483648 to 2147483647

BIGINT

INT[(M)] [UNSIGNED]

0 to 4294967295

BIGINT

BIGINT[(M)]

-9223372036854775808 to 9223372036854775807

BIGINT

BIGINT[(M)] [UNSIGNED]

0 to 18446744073709551615

BIGINT

Decimal

DECIMAL[(M[,D])]

M: 0 to 65;

D: 0 to 30

DECIMAL

FLOAT(p)

1.175494351E-38 to 3.402823466E+38

DOUBLE

DOUBLE[(M,D)]

2.2250738585072014E-308 to 1.7976931348623157E+308

DOUBLE

Date and time

DATE

1000-01-01 to 9999-12-31

Remarque

Format: YYYY-MM-DD.

TIMESTAMP

DATETIME[(fsp)]

1000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999

Remarque

Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC).

TIMESTAMP

TIMESTAMP[(fsp)]

1970-01-01 00:00:01.000000 to 2038-01-19 03:14:07.999999

Remarque

Format: YYYY-MM-DD hh:mm:ss[.fraction] (UTC).

TIMESTAMP

TIME[(fsp)]

-838:59:59.000000 to 838:59:59.000000

Remarque

Format: hh:mm:ss[.fraction] (UTC).

STRING

YEAR[(4)]

1901 to 2155, or 0000

STRING

String

CHAR[(M)]

0 to 255 characters

STRING

VARCHAR(M)

0 to 65,535 characters

STRING

BINARY[(M)]

0 to 255 bytes

STRING

VARBINARY(M)

0 to 65,535 bytes

STRING

TINYBLOB

255 (2^8 - 1) bytes

STRING

TINYTEXT

255 (2^8 - 1) characters

STRING

BLOB

65,535 (2^16 - 1) bytes

STRING

TEXT

65,535 (2^16 - 1) characters

STRING

MEDIUMBLOB

16,777,215 (2^24 - 1) bytes

STRING

MEDIUMTEXT

16,777,215 (2^24 - 1) characters

STRING

LONGBLOB

4,294,967,295 (4 GB) (2^32 - 1) bytes

STRING

LONGTEXT

4,294,967,295 (4 GB) (2^32 - 1) characters

STRING

ENUM('value1','value2',...)

An ENUM column can have up to 65,535 distinct members.

STRING

SET('value1','value2',...)

A SET column can have up to 64 distinct members.

STRING

Spatial

GEOMETRY

Any geometry type.

STRING

POINT

N/A

STRING

LINESTRING

N/A

STRING

POLYGON

N/A

STRING

MULTIPOINT

N/A

STRING

MULTILINESTRING

N/A

STRING

MULTIPOLYGON

N/A

STRING

GEOMETRYCOLLECTION

A collection of any geometry types.

STRING

JSON

JSON

N/A

STRING

Bases de données de destination : MaxCompute, Elasticsearch et ClickHouse

Type

Source type

Value range

MaxCompute

Elasticsearch

ClickHouse

Integer

BIT[(M)]

1 to 64

BOOLEAN | STRING

BOOLEAN | LONG

Remarque

If the value is 1 byte, we recommend using the BOOLEAN data type in Elasticsearch.

UInt8

TINYINT[(M)]

-128 to 127

BIGINT

SHORT

Int8

TINYINT[(M)] [UNSIGNED]

0 to 255

BIGINT

INTEGER

UInt8

SMALLINT[(M)]

-32768 to 32767

BIGINT

SHORT

Int16

SMALLINT[(M)] [UNSIGNED]

0 to 65535

BIGINT

INTEGER

UInt16

MEDIUMINT[(M)]

-8388608 to 8388607

BIGINT

INTEGER

Int32

MEDIUMINT[(M)] [UNSIGNED]

0 to 16777215

BIGINT

INTEGER

Int32

INT[(M)]

-2147483648 to 2147483647

BIGINT

INTEGER

Int32

INT[(M)] [UNSIGNED]

0 to 4294967295

BIGINT

LONG

UInt32

BIGINT[(M)]

-9223372036854775808 to 9223372036854775807

BIGINT

LONG

Int64

BIGINT[(M)] [UNSIGNED]

0 to 18446744073709551615

BIGINT

LONG

UInt64

Decimal

DECIMAL[(M[,D])]

M: 0 to 65;

D: 0 to 30

DOUBLE

DOUBLE

Remarque

If a DECIMAL value contains a decimal point, we recommend using the TEXT data type in Elasticsearch to ensure data consistency.

DECIMAL

FLOAT(p)

1.175494351E-38 to 3.402823466E+38

DOUBLE

FLOAT

Float32

DOUBLE[(M,D)]

2.2250738585072014E-308 to 1.7976931348623157E+308

DOUBLE

DOUBLE

Float64

Date and time

DATE

1000-01-01 to 9999-12-31

Remarque

The format is YYYY-MM-DD.

DATETIME

DATE

Remarque

The format is YYYY-MM-DD. For more information, see date format.

DATE32

Remarque

The value range of the DATE data type in ClickHouse is smaller than that in MySQL. If you use the DATE data type in ClickHouse, write operations may fail.

DATETIME[(fsp)]

1000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999

Remarque

The format is YYYY-MM-DD hh:mm:ss[.fraction] (UTC).

DATETIME

DATE

Remarque

The DATE format is yyyy-MM-dd'T'HH:mm:ss (UTC). For microsecond precision, the format is yyyy-MM-dd'T'HH:mm:ss.S. For more information, see date format.

DATETIME64

Remarque

The value range of the DATETIME data type in ClickHouse is smaller than that in MySQL. If you use the DATETIME data type in ClickHouse, write operations may fail.

TIMESTAMP[(fsp)]

1970-01-01 00:00:01.000000 to 2038-01-19 03:14:07.999999

Remarque

The format is YYYY-MM-DD hh:mm:ss[.fraction] (UTC).

DATETIME

DATE

Remarque

The DATE format is yyyy-MM-dd'T'HH:mm:ss (UTC). For microsecond precision, the format is yyyy-MM-dd'T'HH:mm:ss.S. For more information, see date format.

DATETIME

Remarque

Time zone information is not included.

TIME[(fsp)]

-838:59:59.000000 to 838:59:59.000000

Remarque

The format is hh:mm:ss[.fraction] (UTC).

STRING

DATE

Remarque

For more information, see date format.

STRING

YEAR[(4)]

1901 to 2155, or 0000

STRING

DATE

Remarque

The DATE format is yyyy. For more information, see date format.

Int16

String

CHAR[(M)]

0 to 255 characters

STRING

KEYWORD

STRING

VARCHAR(M)

0 to 65,535 characters

STRING

  • If the string is 255 characters or shorter: KEYWORD

  • If the string is longer than 255 characters: TEXT

STRING

BINARY[(M)]

0 to 255 bytes

STRING

BINARY

STRING

VARBINARY(M)

0 to 65,535 bytes

STRING

BINARY

STRING

TINYBLOB

255 (2^8 - 1) bytes

STRING

BINARY

STRING

TINYTEXT

255 (2^8 - 1) characters

STRING

TEXT

STRING

BLOB

65,535 (2^16 - 1) bytes

STRING

BINARY

STRING

TEXT

65,535 (2^16 - 1) characters

STRING

TEXT

STRING

MEDIUMBLOB

16,777,215 (2^24 - 1) bytes

STRING

BINARY

STRING

MEDIUMTEXT

16,777,215 (2^24 - 1) characters

STRING

TEXT

STRING

LONGBLOB

4,294,967,295 or 4 GB (2^32 - 1) bytes

STRING

BINARY

STRING

LONGTEXT

4,294,967,295 or 4 GB (2^32 - 1) characters

STRING

TEXT

STRING

ENUM('value1','value2',...)

Up to 65,535 enumerated values

STRING

KEYWORD

ENUM

SET('value1','value2',...)

Up to 64 members

STRING

KEYWORD

STRING

Spatial type

GEOMETRY

A value of any geometry type

STRING

GEO_SHAPE

STRING

POINT

N/A

STRING

GEO_POINT

STRING

LINESTRING

N/A

STRING

GEO_SHAPE

STRING

POLYGON

N/A

STRING

GEO_SHAPE

STRING

MULTIPOINT

N/A

STRING

GEO_SHAPE

Remarque

STRING

MULTILINESTRING

N/A

STRING

GEO_SHAPE

STRING

MULTIPOLYGON

N/A

STRING

GEO_SHAPE

STRING

GEOMETRYCOLLECTION

A collection of values of any geometry type

STRING

GEO_SHAPE

STRING

JSON type

JSON

N/A

STRING

OBJECT

Remarque

STRING

Instance de destination : Tablestore

Type source

Type 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 ou INTEGER

Remarque

Par défaut : 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

Instance cible : Lindorm

Type source

Type Lindorm

BOOLEAN

BOOLEAN

BIT

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INTEGER

INTEGER

BIGINT

BIGINT

BIGINT UNSIGNED

Important

Lindorm ne prend en charge que les valeurs comprises dans la plage BIGINT signée (-9223372036854775808 à 9223372036854775807).

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL

DECIMAL

Important

La précision doit correspondre à celle du champ source.

CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT

CHAR/VARCHAR

BINARY

BINARY

BLOB

VARBINARY

VARBINARY

VARBINARY

TIMESTAMP

TIMESTAMP

YEAR

INTEGER

DATE

Le type de données mappé dépend de la version de l'instance Lindorm cible.

  • Version 2.8.0.2 ou ultérieure : DATE

  • Versions antérieures à la 2.8.0.2 : VARCHAR

DATETIME

VARCHAR

Important
  • Nous vous recommandons de mapper ce type au type de données VARCHAR dans l'instance cible.

  • Un mappage vers le type de données TIMESTAMP peut entraîner des incohérences dues aux différences de fuseaux horaires. Pour éviter cela, utilisez la fonctionnalité ETL lors de la configuration de la tâche de synchronisation des données.

TIME

Le type de données mappé dépend de la version de l'instance Lindorm cible.

  • Version 2.8.0.2 ou ultérieure : TIME

    Remarque

    Le format est hh:mm:ss. Ce mappage tronque les fractions de seconde. Par exemple, une valeur source de 08:11:15.354 devient 08:11:15 dans l'instance cible.

  • Versions antérieures à la 2.8.0.2 : VARCHAR

JSON

JSON

Instance cible : Oracle

Type

Type de données source

Plage de valeurs

Type de données Oracle

Type entier

BIT[(M)]

1 à 64

NUMBER(2,0)

TINYINT[(M)]

-128 à 127

NUMBER(3,0)

TINYINT[(M)] [UNSIGNED]

0 à 255

NUMBER(3,0)

SMALLINT[(M)]

-32768 à 32767

NUMBER(5,0)

SMALLINT[(M)] [UNSIGNED]

0 à 65535

NUMBER(5,0)

MEDIUMINT[(M)]

-8388608 à 8388607

NUMBER(7,0)

MEDIUMINT[(M)] [UNSIGNED]

0 à 16777215

NUMBER(7,0)

INT[(M)]

-2147483648 à 2147483647

INT

INT[(M)] [UNSIGNED]

0 à 4294967295

NUMBER(10,0)

BIGINT[(M)]

-9223372036854775808 à 9223372036854775807

NUMBER(20,0)

BIGINT[(M)] [UNSIGNED]

0 à 18446744073709551615

NUMBER(20,0)

Type décimal

DECIMAL[(M[,D])]

M : 0 à 65 ;

D : 0 à 30

NUMBER(M,D)

Remarque

Si la précision et l'échelle sont omises, le type de données par défaut est NUMBER.

FLOAT(p)

1,175494351E-38 à 3,402823466E+38

FLOAT

DOUBLE[(M,D)]

2,2250738585072014E-308 à 1,7976931348623157E+308

DOUBLE

Type date et heure

DATE

1000-01-01 à 9999-12-31

Remarque

Format : AAAA-MM-JJ.

DATE

DATETIME[(fsp)]

1000-01-01 00:00:00.000000 à 9999-12-31 23:59:59.999999

Remarque

Format : AAAA-MM-JJ hh:mm:ss[.fraction] (UTC).

TIMESTAMP[(fsp)]

Remarque

Si la précision est omise, le type de données par défaut est TIMESTAMP(0).

TIMESTAMP[(fsp)]

1970-01-01 00:00:01.000000 à 2038-01-19 03:14:07.999999

Remarque

Format : AAAA-MM-JJ hh:mm:ss[.fraction] (UTC).

TIMESTAMP[(fsp)] WITH LOCAL TIME ZONE

Remarque

Si la précision est omise, le type de données par défaut est TIMESTAMP(0) WITH LOCAL TIME ZONE.

TIME[(fsp)]

-838:59:59.000000 à 838:59:59.000000

Remarque

Format : hh:mm:ss[.fraction] (UTC).

Non pris en charge

YEAR[(4)]

1901 à 2155, ou 0000

INT

Type chaîne

CHAR[(M)]

0 à 255 caractères

CHAR[(M)]

Remarque

Si la longueur est omise, le type de données par défaut est CHAR(1).

VARCHAR(M)

0 à 65 535 caractères

VARCHAR(M)

BINARY[(M)]

0 à 255 octets

RAW(M)

Remarque

Si la longueur est omise, le type de données par défaut est RAW(1).

VARBINARY(M)

0 à 65 535 octets

RAW(M)

TINYBLOB

255 (2^8 - 1) octets

BLOB

TINYTEXT

255 (2^8 - 1) caractères

CLOB

BLOB

65 535 (2^16 - 1) octets

BLOB

TEXT

65 535 (2^16 - 1) caractères

CLOB

MEDIUMBLOB

16 777 215 (2^24 - 1) octets

BLOB

MEDIUMTEXT

16 777 215 (2^24 - 1) caractères

CLOB

LONGBLOB

4 294 967 295 (2^32 - 1) octets

BLOB

LONGTEXT

4 294 967 295 (2^32 - 1) caractères

CLOB

ENUM('value1','value2',...)

Jusqu'à 65 535 valeurs d'énumération

Non pris en charge

SET('value1','value2',...)

Jusqu'à 64 membres

Non pris en charge

Type spatial

GEOMETRY

Une valeur de n'importe quel type géométrique

Non pris en charge

POINT

N/A

Non pris en charge

LINESTRING

N/A

Non pris en charge

POLYGON

N/A

Non pris en charge

MULTIPOINT

N/A

Non pris en charge

MULTILINESTRING

N/A

Non pris en charge

MULTIPOLYGON

N/A

Non pris en charge

GEOMETRYCOLLECTION

Une collection de valeurs de n'importe quel type géométrique

Non pris en charge

Type JSON

JSON

N/A

CLOB

Migration de données depuis Oracle

Le tableau suivant répertorie les mappages de types de données lors de la migration depuis une instance Oracle auto-gérée vers MySQL, PolarDB for MySQL, AnalyticDB for MySQL , AnalyticDB for PostgreSQL ou PolarDB for PostgreSQL (compatible avec Oracle).

Remarque

Si les données source se situent en dehors de la plage prise en charge par DTS, la précision des données migrées dans la destination est réduite.

Catégorie

Type de données Oracle

Plage de valeurs

Type de données MySQL, PolarDB for MySQL et PolarDB-X

Type de données ApsaraDB RDS for PPAS

Type de données AnalyticDB for MySQL

Type de données AnalyticDB for PostgreSQL

Type de données PolarDB for PostgreSQL (compatible avec Oracle)

Types numériques

NUMBER(p,s)

1 à 22 octets.

p représente la précision et varie de 1 à 38.

s représente l'échelle décimale et varie de -84 à 127.

DECIMAL[(p[,s])]

Remarque

Si la précision et l'échelle sont absentes, le mappage correspond à DECIMAL(65,30).

NUMBER[(p[,s])]

DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT

DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT

NUMBER(p,s)

FLOAT(p)

1 à 22 octets.

p représente une variable de pointeur et varie de 1 à 126 bits.

FLOAT

DOUBLE PRECISION

DOUBLE

DOUBLE PRECISION

DOUBLE PRECISION

BINARY_FLOAT

Nombre à virgule flottante 32 bits, soit 4 octets.

FLOAT

REAL

DOUBLE

DOUBLE PRECISION

REAL

BINARY_DOUBLE

Nombre à virgule flottante 64 bits, soit 8 octets.

DOUBLE

DOUBLE PRECISION

DOUBLE

DOUBLE PRECISION

DOUBLE PRECISION

Types de date

DATE

Aucune

DATETIME

DATE

DATETIME

TIMESTAMP(0)

DATE

TIMESTAMP [(fractional_seconds_precision)]

Aucune

DATETIME[(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)]

DATETIME

TIMESTAMP

TIMESTAMP [(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

Aucune

DATETIME[(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE

Aucune

DATETIME[(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

DATETIME

TIMESTAMP WITH TIME ZONE

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

INTERVAL YEAR [(year_precision)] TO MONTH

Aucune

Non pris en charge

Non pris en charge

VARCHAR

VARCHAR(32)

INTERVAL

INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]

Aucune

Non pris en charge

Non pris en charge

VARCHAR

VARCHAR(32)

INTERVAL

Types de chaîne

CHAR [(size [BYTE | CHAR])]

2000 octets.

CHAR[(n)]

Remarque

Si la longueur est absente, le mappage correspond à CHAR(1).

CHAR[(n)]

VARCHAR

CHAR

CHAR [(size [BYTE | CHAR])]

NCHAR[(size)]

2000 octets.

NATIONAL CHAR[(n)]

Remarque

Si la longueur est absente, le mappage correspond à NATIONAL CHAR(1).

NCHAR[(n)]

VARCHAR

VARCHAR

NCHAR[(size)]

VARCHAR(size [BYTE | CHAR])

Lorsque MAX_STRING_SIZE = EXTENDED, la longueur maximale est de 32 767 octets.

Lorsque MAX_STRING_SIZE = STANDARD, la longueur maximale est de 4 000 octets.

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR2(size [BYTE | CHAR])

Lorsque MAX_STRING_SIZE = EXTENDED, la longueur maximale est de 32 767 octets.

Lorsque MAX_STRING_SIZE = STANDARD, la longueur maximale est de 4 000 octets.

VARCHAR(n)

VARCHAR2[(n)]

VARCHAR

VARCHAR

VARCHAR2(size [BYTE | CHAR])

NVARCHAR2(size)

Lorsque MAX_STRING_SIZE = EXTENDED, la longueur maximale est de 32 767 octets.

Lorsque MAX_STRING_SIZE = STANDARD, la longueur maximale est de 4 000 octets.

NATIONALVARCHAR[(n)]

VARCHAR2[(n)]

VARCHAR

VARCHAR

NVARCHAR2(size)

LONG

Longueur maximale 2 Go (2^31-1).

LONGTEXT

LONG

VARCHAR

TEXT

LONG

RAW(size)

Longueur maximale 32 767 octets ou 2 000 octets.

BINARY(2*size)

RAW(size)

VARBINARY

BYTEA

RAW(size)

LONG RAW

Longueur maximale 2 Go.

LONGBLOB

LONG RAW

VARBINARY

BYTEA

LONG RAW

CLOB

Longueur maximale (4 Go - 1) × DB_BLOCK_SIZE.

LONGTEXT

CLOB

VARCHAR

TEXT

CLOB

NCLOB

Longueur maximale (4 Go - 1) × DB_BLOCK_SIZE.

LONGTEXT

NCLOB

VARCHAR

TEXT

CLOB

BLOB

Longueur maximale (4 Go - 1) × DB_BLOCK_SIZE.

LONGBLOB

BLOB

VARBINARY

BYTEA

BLOB

BFILE

4 Go.

Non pris en charge

Non pris en charge

Non pris en charge

Non pris en charge

Non pris en charge

Type JSON

JSON

Longueur maximale 32 Mo.

Non pris en charge

Non pris en charge

JSON

JSON

JSON

Type ROWID

ROWID

64 caractères.

Non pris en charge

Non pris en charge

ROWID

OID

VARCHAR

UROWID

64 caractères.

Non pris en charge

Non pris en charge

Non pris en charge

Non pris en charge

Non pris en charge

Type spatial

Nécessite une personnalisation

Non pris en charge

Remarque
  • Lorsque l'instance de destination est MySQL, PolarDB for MySQL ou PolarDB-X :

    • Pour les types CHAR dont la longueur définie est supérieure à 255, DTS les convertit en VARCHAR(n).

    • MySQL ne prend pas en charge BFILE, INTERVAL YEAR TO MONTH ni INTERVAL DAY TO SECOND. DTS ignore ces types lors de la migration du schéma.

      Si une table contient ces types, la migration du schéma échoue. Excluez les colonnes utilisant ces types lorsque vous sélectionnez les objets à migrer.

    • Le TIMESTAMP MySQL n'inclut pas d'informations de fuseau horaire. DTS convertit les données Oracle TIMESTAMP WITH TIME ZONE et TIMESTAMP WITH LOCAL TIME ZONE en UTC avant de les stocker dans la destination.

  • Lorsque l'instance de destination est ApsaraDB RDS for PPAS :

    ApsaraDB RDS for PPAS ne prend pas en charge TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE. DTS convertit les données en UTC et les stocke dans une colonne TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE.

  • Lorsque l'instance de destination est AnalyticDB for PostgreSQL :

    Pour les types non pris en charge par AnalyticDB for PostgreSQL, DTS les convertit en BYTEA. Si la conversion échoue, les données sont définies sur NULL.

Migration de données depuis SQL Server

Le tableau ci-dessous répertorie les correspondances de types de données lors d'une migration depuis SQL Server (auto-hébergé ou RDS) vers AnalyticDB for MySQL , AnalyticDB for PostgreSQL, PostgreSQL ou des clusters PolarDB for MySQL.

Remarque

Si les données source se situent en dehors de la plage prise en charge par DTS, la précision des données migrées dans la destination est réduite.

Catégorie

Type de données SQL Server

Plage de valeurs

Type de données AnalyticDB for MySQL

Type de données PostgreSQL et AnalyticDB for PostgreSQL

Type de données MySQL et PolarDB for MySQL

Types entiers

BIT

Type de données INTEGER pouvant être 1, 0 ou NULL

BOOLEAN

BIT(1)

BIT(1)

TINYINT

0 à 255

TINYINT

SMALLINT

TINYINT UNSIGNED

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

Types décimaux

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 et 2.23E-308 à 1.79E+308

DOUBLE

DOUBLE PRECISION

DOUBLE

REAL

-3.40E+38 à -1.18E- 38, 0 et 1.18E-38 à 3.40E +38

FLOAT

REAL

DOUBLE

Types monétaires

MONEY

-922 337 203 685 477,5808 à 922 337 203 685 477,5807

DECIMAL(19, 4)

DECIMAL(19, 4)

DECIMAL(19, 4)

SMALLMONEY

-214 748,3648 à 214 748,3647

DECIMAL(10, 4)

DECIMAL(10, 4)

DECIMAL(10, 4)

Types de date

DATE

0001-01-01 à 9999-12-31

DATE

DATE

DATE

DATETIME

Plage de dates : du 1er janvier 1753 au 31 décembre 9999.

Plage horaire : de 00:00:00 à 23:59:59.997

DATETIME

TIMESTAMP(3) WITHOUT TIME ZONE

DATETIME(3)

DATETIME2[ (précision des secondes fractionnaires) ]

Plage de dates : du 1er janvier 0001 au 31 décembre 9999.

Plage horaire : de 00:00:00 à 23:59:59.9999999

DATETIME

TIMESTAMP(7) WITHOUT TIME ZONE

DATETIME(p)

Remarque

La précision par défaut est 6.

DATETIMEOFFSET [ (précision des secondes fractionnaires) ]

Plage de dates : du 1er janvier 0001 au 31 décembre 9999.

Plage horaire : de 00:00:00 à 23:59:59.9999999.

Plage du décalage horaire : de -14:00 à +14:00.

TIMESTAMP

TIMESTAMP(7) WITH TIME ZONE

DATETIME(p)

Remarque

La précision par défaut est 6.

SMALLDATETIME

Les secondes sont toujours nulles (:00) et ne comportent pas de partie fractionnaire.

DATETIME

TIMESTAMP WITHOUT TIME ZONE

DATETIME

TIME [ (échelle des secondes fractionnaires) ]

De 00:00:00.0000000 à 23:59:59.9999999

TIME

TIME(7) WITH TIME ZONE

TIME(p)

TIMESTAMP[(fsp)]

Du 1970-01-01 00:00:01.000000 au 2038-01-19 03:14:07.999999

Remarque

Le format est AAAA-MM-JJ hh:mm:ss[.fraction] (UTC).

VARBINARY(8)

BYTEA

VARBINARY(8)

Types de chaîne

BINARY [ ( n ) ]

n varie de 1 à 8 000.

VARBINARY

BYTEA

  • Si la longueur > 255 : BLOB

  • Sinon : BINARY(n)

VARBINARY [ ( n | max) ]

n varie de 1 à 8 000. max indique que la taille de stockage maximale est de 2^31-1 octets.

VARBINARY

BYTEA

  • Si la longueur = max : LONGBLOB

  • Sinon : VARBINARY(n)

CHAR [ ( n ) ]

n varie de 1 à 8 000. La taille de stockage est de n octets.

VARCHAR

CHARACTER

  • Si la longueur > 255 : VARCHAR

  • Sinon : CHAR

VARCHAR [ ( n | max ) ]

n varie de 1 à 8 000. max indique que la taille de stockage maximale est de 2^31-1 octets (2 Go).

VARCHAR

CHARACTER

  • Si la longueur = max : LONGTEXT

  • Sinon : VARCHAR(n)

NCHAR [ ( n ) ]

En unités double-octet, n varie de 1 à 4 000. La taille de stockage est le double de n octets.

VARCHAR

CHARACTER VARYING

VARCHAR(200)

NVARCHAR [ ( n | max ) ]

En unités double-octet, n varie de 1 à 4 000. max indique que la taille de stockage maximale est de 2^30-1 caractères (2 Go).

VARCHAR

TEXT

  • Si la longueur = max : LONGTEXT

  • Sinon : VARCHAR(n)

NTEXT

Données Unicode de longueur variable avec une longueur de chaîne maximale de 2^30-1 (1 073 741 823) octets.

VARCHAR

TEXT

LONGTEXT

TEXT

La longueur de chaîne maximale est de 2^31-1 (2 147 483 647) octets.

VARCHAR

TEXT

LONGTEXT

IMAGE

Données binaires de longueur variable de 0 à 2^31-1 (2 147 483 647) octets.

VARBINARY

BYTEA

LONGBLOB

Types spatiaux et géométriques

GEOGRAPHY

Aucun

VARCHAR

Non pris en charge

BLOB

GEOMETRY

Aucun

VARCHAR

Non pris en charge

BLOB

Type XML

XML ( [ CONTENT | DOCUMENT ] xml_schema_collection )

Aucun

VARCHAR

XML

LONGTEXT

Autres types

UNIQUEIDENTIFIER

Aucun

VARCHAR

CHARACTER(36)

CHAR(36)

SQL_VARIANT

Aucun

Non pris en charge

Non pris en charge

VARCHAR(200)

HIERARCHYID

Aucun

Non pris en charge

Non pris en charge

VARCHAR(200)

SYSNAME

Aucun

VARCHAR

CHARACTER VARYING(128)

VARCHAR(200)

Migration de données depuis TiDB auto-hébergé

Le tableau ci-dessous répertorie les correspondances de types de données lors d'une migration depuis TiDB auto-hébergé vers MySQL ou AnalyticDB for MySQL 3.0.

Type de données TiDB

Type de données 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 ou 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

Migration de données depuis DB2 for LUW

Le tableau ci-dessous répertorie les correspondances de types de données lors d'une migration depuis DB2 for LUW vers MySQL.

Remarque

Si les données source se situent en dehors de la plage prise en charge par DTS, la précision des données migrées dans la destination est réduite.

Catégorie

Type de données DB2 for LUW

Plage de valeurs

Type de données MySQL

Types entiers

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

Types décimaux

DECIMAL(précision-entier, échelle-entier)

p <= 38

DECIMAL

FLOAT(entier)

La plage de valeurs va de 1 à 53. Une valeur comprise entre 1 et 24 indique une simple précision. Une valeur comprise entre 25 et 53 indique une double précision.

FLOAT

DECFLOAT(précision-entier)

Aucun

DECIMAL(65,10)

Types de date

DATE

0001-01-01 à 9999-12-31

DATE

TIME

00:00:00 à 24:00:00

TIME

TIMESTAMP(entier)

0001-01-01-00.00.00.000000000000 à 9999-12-31-24.00.00.000000000000 ; 0 <= p <= 12

DATETIME

Types de chaîne

CHARACTER(entier)

254

CHAR | VARCHAR

VARCHAR(entier)

32 672

VARCHAR

CHARACTER(entier) FOR BIT DATA

254

BLOB

CLOB

2 147 483 647

LONGTEXT

GRAPHIC(entier)

127

CHAR(longueur*4)

VARGRAPHIC(entier)

16 336

CHAR(longueur*4)

DBCLOB(entier)

1 073 741 823

VARCHAR | LONGTEXT

BLOB

2 147 483 647

LONGBLOB

Autres types

XML

2 147 483 647

VARCHAR | LONGTEXT

Migration de données depuis Db2 for i

Le tableau ci-dessous répertorie les correspondances de types de données lors d'une migration depuis Db2 for i vers MySQL.

Remarque

Si les données source se situent en dehors de la plage prise en charge par DTS, la précision des données migrées dans la destination est réduite.

Catégorie

Type de données Db2 for i

Plage de valeurs

Type de données MySQL

Types entiers

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

Types décimaux

DECIMAL(précision-entier, échelle-entier)

p <= 63

DECIMAL

NUMERIC

Aucun

DECIMAL

FLOAT(entier)

Aucun

FLOAT

DECFLOAT(précision-entier)

Aucun

DECIMAL(65,10)

Types de date

DATE

0001-01-01 à 9999-12-31

DATE

TIME

00:00:00 à 24:00:00

TIME

TIMESTAMP(entier)

0001-01-01-00.00.00.000000000000 à 9999-12-31-24.00.00.000000000000 ; 0 <= p <= 12

DATETIME

Types de chaîne

CHAR(entier)

32 765

CHAR | VARCHAR

VARCHAR(entier)

32 739

VARCHAR

CHAR(entier) FOR BIT DATA

Aucun

BLOB

CLOB

2 147 483 647

LONGTEXT

GRAPHIC(entier)

16 382

CHAR

VARGRAPHIC(entier)

16 369

VARCHAR

DBCLOB(entier)

1 073 741 823

LONGTEXT

BINARY

32 765

BINARY

VARBIN

32 739

VARBINARY

BLOB

2 147 483 647

LONGBLOB

Autres types

DATALINK

Aucun

VARCHAR | LONGTEXT

ROWID

40

VARCHAR | LONGTEXT

XML

2 147 483 647

VARCHAR | LONGTEXT

Migration des données depuis Teradata

Le tableau suivant répertorie les correspondances de types de données lors de la migration de Teradata vers AnalyticDB for PostgreSQL.

Teradata data type

AnalyticDB for PostgreSQL data type

BYTEINT

SMALLINT

SMALLINT

SMALLINT

BIGINT

BIGINT

INTEGER

INTEGER

DATE

DATE

JSON

JSON

XML

XML

CLOB

text

Float

real

CHAR

CHAR

VARCHAR

VARCHAR

Timestamp

Timestamp

TIME

TIME

Timestamp With Time Zone

Timestamp With Time Zone

Time With Time Zone

Time With Time Zone

Decimal

Decimal

Number

numeric

BYTE

bytea

VARBYTE

bytea

BLOB

bytea

PERIOD

varchar(100)

INTERVAL

varchar(100)

Teradata data type

AnalyticDB for PostgreSQL data type

SMALLINT

SMALLINT

INTEGER

INT

BIGINT

BIGINT

DECIMAL(precision-integer, scale-integer)

DECIMAL

NUMERIC

DECIMAL

FLOAT(integer)

FLOAT

DECFLOAT(precision-integer)

DECIMAL(65,10)

DATE

DATE

TIME

TIME

TIMESTAMP(integer)

DATETIME

CHAR(integer)

CHAR | VARCHAR

VARCHAR(integer)

VARCHAR

CHAR(integer) FOR BIT DATA

BLOB

CLOB

LONGTEXT

GRAPHIC(integer)

CHAR

VARGRAPHIC(integer)

VARCHAR

DBCLOB(integer)

LONGTEXT

BINARY

BINARY

VARBIN

VARBINARY

BLOB

LONGBLOB

DATALINK

VARCHAR | LONGTEXT

ROWID

VARCHAR | LONGTEXT

XML

VARCHAR | LONGTEXT