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 :
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.
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 |
|
1 to 64 |
|
Same as the data types in MySQL and PolarDB for MySQL. |
|
|
-128 to 127 |
|
||
|
|
0 to 255 |
|
||
|
|
-32768 to 32767 |
|
||
|
|
0 to 65535 |
|
||
|
|
-8388608 to 8388607 |
|
||
|
|
0 to 16777215 |
|
||
|
|
-2147483648 to 2147483647 |
|
||
|
|
0 to 4294967295 |
|
||
|
|
-9223372036854775808 to 9223372036854775807 |
|
||
|
|
0 to 18446744073709551615 |
|
||
|
Decimal |
|
M: 0 to 65; D: 0 to 30 |
|
|
|
|
1.175494351E-38 to 3.402823466E+38 |
|
||
|
|
2.2250738585072014E-308 to 1.7976931348623157E+308 |
|
||
|
Date and time |
|
1000-01-01 to 9999-12-31 Remarque
Format: |
|
|
|
|
1000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999 Remarque
Format: |
|
||
|
|
1970-01-01 00:00:01.000000 to 2038-01-19 03:14:07.999999 Remarque
Format: |
|
||
|
|
-838:59:59.000000 to 838:59:59.000000 Remarque
Format: |
|
||
|
|
1901 to 2155, or 0000 |
|
||
|
String |
|
0 to 255 characters |
|
|
|
|
0 to 65,535 characters |
|
||
|
|
0 to 255 bytes |
|
||
|
|
0 to 65,535 bytes |
|
||
|
|
255 (2^8 - 1) bytes |
|
||
|
|
255 (2^8 - 1) characters |
|
||
|
|
65,535 (2^16 - 1) bytes |
|
||
|
|
65,535 (2^16 - 1) characters |
|
||
|
|
16,777,215 (2^24 - 1) bytes |
|
||
|
|
16,777,215 (2^24 - 1) characters |
|
||
|
|
4,294,967,295 (4 GB) (2^32 - 1) bytes |
|
||
|
|
4,294,967,295 (4 GB) (2^32 - 1) characters |
|
||
|
|
An |
|
||
|
|
A |
|
||
|
Spatial |
|
Any geometry type. |
|
|
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
N/A |
|
||
|
|
A collection of any geometry types. |
|
||
|
JSON |
|
N/A |
|
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 |
|
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.
|
|
DATETIME |
VARCHAR Important
|
|
TIME |
Le type de données mappé dépend de la version de l'instance Lindorm cible.
|
|
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 |
|
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[(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 |
|
|
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 |
|
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 |
|
|
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).
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 | |||||
-
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.
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 |
|
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 |
| |
CHAR [ ( n ) ] | n varie de 1 à 8 000. La taille de stockage est de n octets. | VARCHAR | CHARACTER |
| |
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 |
| |
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 |
| |
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.
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.
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 |