異種データベースとして知られるさまざまな種類のデータベースは、それぞれ異なるデータ型をサポートしています。Data Transmission Service (DTS) が異種データベース間でデータを移行する際、スキーマ移行フェーズでデータ型をマッピングします。このプロセスでは、ソースデータベースのデータ型を、ターゲットデータベースでサポートされているデータ型に変換します。このトピックでは、詳細なデータ型マッピングを一覧で示します。これらのマッピングを使用して、データ移行がサービスに与える影響を確認および評価できます。
概要
ご利用の移行シナリオに対応するデータ型マッピングをご確認ください:
ソースの時間フィールドのデータ型が TIMESTAMP WITH TIME ZONE で、ターゲットの時間フィールドのデータ型が DATETIME など異なる場合、タイムゾーン情報は失われます。
PolarDB for MySQL、RDS for MySQL、および自己管理 MySQL からのデータ移行
ソースインスタンスが PolarDB for MySQL、RDS for MySQL、または自己管理 MySQL データベースで、ターゲットインスタンスが AnalyticDB for MySQL および 2.0、または AnalyticDB for PostgreSQL などの異種データベースである場合、データ型マッピングは次のようになります。
ソースインスタンスから移行されるデータが DTS でサポートされている範囲外である場合、ターゲットインスタンスに移行されたデータの精度は低下します。
ターゲットインスタンスが AnalyticDB for MySQL または AnalyticDB for PostgreSQL の場合
カテゴリ | ソースインスタンスのデータ型 | 値の範囲 | AnalyticDB for MySQL のデータ型 | AnalyticDB for 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) | |
10進数型 | 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 | TIME WITHOUT 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 または 4 GB (2^32 - 1) バイト | VARBINARY | BYTEA | |
LONGTEXT | 4,294,967,295 または 4 GB (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 プロジェクト、ApsaraMQ for Kafka インスタンス、または自己管理 Kafka クラスター
種類 | ソースデータベースのデータ型 | 値の範囲 | DataHub のデータ型 | ApsaraMQ for Kafka インスタンスまたは自己管理 Kafka クラスターのデータ型 |
整数 | BIT[(M)] | 1~64 | BOOLEAN | STRING | MySQL または PolarDB for 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 | ||
10進数 | 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 または 4 GB (2^32 - 1) バイト | STRING | ||
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | STRING | ||
ENUM('value1','value2',...) | ENUM 列には最大 65,535 個の異なる要素を含めることができます。 | STRING | ||
SET('value1','value2',...) | SET 列には最大 64 個の異なる要素を含めることができます。 | STRING | ||
空間 | GEOMETRY | 任意の型のジオメトリ値 | 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 | 任意の型のジオメトリ値のコレクション | STRING | ||
JSON | JSON | N/A | STRING |
ターゲットデータベース:MaxCompute プロジェクト、Elasticsearch クラスター、または ClickHouse クラスター
種類 | ソースデータベースのデータ型 | 値の範囲 | MaxCompute | Elasticsearch | ClickHouse |
整数 | BIT[(M)] | 1~64 | BOOLEAN | STRING | BOOLEAN | LONG 説明 データが 1 バイトのみの場合は、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 | |
10進数 | 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 です。詳細については、「format」をご参照ください。 | DATE32 説明 ClickHouse の DATE データ型の有効値は MySQL よりも小さくなります。ClickHouse が 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 | DATE 説明 DATE データ形式は yyyy-MM-dd'T'HH:mm:ss (UTC) です。DATE データがマイクロ秒まで正確な場合、データ形式は yyyy-MM-dd'T'HH:mm:ss.S です。詳細については、「format」をご参照ください。 | DATETIME64 説明 ClickHouse の DATETIME データ型の有効値は MySQL よりも小さくなります。ClickHouse が DATETIME データ型を使用する場合、データ書き込み操作が失敗することがあります。 | |
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) です。DATE データがマイクロ秒まで正確な場合、データ形式は yyyy-MM-dd'T'HH:mm:ss.S です。詳細については、「format」をご参照ください。 | DATETIME 説明 DATETIME データにはタイムゾーンに関する情報は含まれません。 | |
TIME[(fsp)] | -838:59:59.000000~838:59:59.000000 説明 フォーマットは hh:mm:ss[.fraction] (UTC) です。 | STRING | DATE 説明 フォーマットは YYYY-MM-DD です。詳細については、「format」をご参照ください。 | STRING | |
YEAR[(4)] | 1901~2155、または 0000 | STRING | DATE 説明 DATE フォーマットは yyyy (UTC) です。詳細については、「format」をご参照ください。 | 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 または 4 GB (2^32 - 1) バイト | STRING | BINARY | STRING | |
LONGTEXT | 4,294,967,295 または 4 GB (2^32 - 1) 文字 | STRING | TEXT | STRING | |
ENUM('value1','value2',...) | ENUM 列には最大 65,535 個の異なる要素を含めることができます。 | STRING | KEYWORD | ENUM | |
SET('value1','value2',...) | SET 列には最大 64 個の異なる要素を含めることができます。 | STRING | KEYWORD | STRING | |
空間 | GEOMETRY | 任意の型のジオメトリ値 | 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 説明 データが 1 バイトのみの場合は、Elasticsearch で BOOLEAN データ型を使用することを推奨します。 | STRING | |
MULTILINESTRING | N/A | STRING | GEO_SHAPE | STRING | |
MULTIPOLYGON | N/A | STRING | GEO_SHAPE | STRING | |
GEOMETRYCOLLECTION | 任意の型のジオメトリ値のコレクション | STRING | GEO_SHAPE | STRING | |
JSON | JSON | N/A | STRING | OBJECT 説明 データが 1 バイトのみの場合は、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 |
BIGINT UNSIGNED 重要 -9223372036854775808 から 9223372036854775807 の範囲の 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 | ターゲットの Lindorm インスタンスのバージョンに基づいてデータ型を選択します。
|
DATETIME | VARCHAR 重要
|
TIME | ターゲットの Lindorm インスタンスのバージョンに基づいてデータ型を選択します。
|
JSON | JSON |
Oracle からのデータ移行
ソースインスタンスが自己管理 Oracle データベースで、ターゲットインスタンスが MySQL、PolarDB for MySQL、AnalyticDB for MySQL、AnalyticDB for PostgreSQL、または PolarDB for PostgreSQL (Oracle 互換) などの異種データベースである場合、データ型マッピングは次のようになります。
ソースインスタンスから移行されるデータが DTS でサポートされている範囲外である場合、ターゲットインスタンスに移行されたデータの精度は低下します。
カテゴリ | Oracle データ型 | 値の範囲 | MySQL、PolarDB for MySQL、および PolarDB-X のデータ型 | ApsaraDB RDS for PPAS のデータ型 | AnalyticDB for MySQL のデータ型 | AnalyticDB for PostgreSQL のデータ型 | PolarDB for PostgreSQL (Oracle 互換) のデータ型 |
数値型 | NUMBER(p,s) | 1~22 バイト。 p は精度を表し、1~38 の範囲です。 s は小数点以下の桁数を表し、-84~127 の範囲です。 | DECIMAL[(p[,s])] 説明 精度と小数点以下の桁数の両方が指定されていない場合、DECIMAL(65,30) にマッピングされます。 | NUMBER[(p[,s])] | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT | DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT | NUMBER(p,s) |
FLOAT(p) | 1~22 バイト。 p はポインター変数を表し、1~126 ビットの範囲です。 | FLOAT | DOUBLE PRECISION | DOUBLE | DOUBLE PRECISION | DOUBLE PRECISION | |
BINARY_FLOAT | 32 ビット浮動小数点数、4 バイトです。 | FLOAT | REAL | DOUBLE | DOUBLE PRECISION | REAL | |
BINARY_DOUBLE | 64 ビット浮動小数点数、8 バイトです。 | DOUBLE | DOUBLE PRECISION | DOUBLE | DOUBLE PRECISION | DOUBLE PRECISION | |
日付型 | DATE | なし | DATETIME | DATE | DATETIME | TIMESTAMP(0) | DATE |
TIMESTAMP [(fractional_seconds_precision)] | なし | DATETIME[(fractional_seconds_precision)] | TIMESTAMP [(fractional_seconds_precision)] | DATETIME | TIMESTAMP | TIMESTAMP [(fractional_seconds_precision)] | |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | なし | 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 | なし | 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 | なし | サポートされていません | サポートされていません | VARCHAR | VARCHAR(32) | INTERVAL | |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] | なし | サポートされていません | サポートされていません | VARCHAR | VARCHAR(32) | INTERVAL | |
文字列型 | CHAR [(size [BYTE | CHAR])] | 2000 バイト。 | CHAR[(n)] 説明 長さが指定されていない場合、CHAR(1) にマッピングされます。 | CHAR[(n)] | VARCHAR | CHAR | CHAR [(size [BYTE | CHAR])] |
NCHAR[(size)] | 2000 バイト。 | NATIONAL CHAR[(n)] 説明 長さが指定されていない場合、NATIONAL CHAR(1) にマッピングされます。 | NCHAR[(n)] | VARCHAR | VARCHAR | NCHAR[(size)] | |
VARCHAR(size [BYTE | CHAR]) | MAX_STRING_SIZE = EXTENDED の場合、最大長は 32767 バイトです。 MAX_STRING_SIZE = STANDARD の場合、最大長は 4000 バイトです。 | VARCHAR(n) | VARCHAR(n) | VARCHAR(n) | VARCHAR(n) | VARCHAR(n) | |
VARCHAR2(size [BYTE | CHAR]) | MAX_STRING_SIZE = EXTENDED の場合、最大長は 32767 バイトです。 MAX_STRING_SIZE = STANDARD の場合、最大長は 4000 バイトです。 | VARCHAR(n) | VARCHAR2[(n)] | VARCHAR | VARCHAR | VARCHAR2(size [BYTE | CHAR]) | |
NVARCHAR2(size) | MAX_STRING_SIZE = EXTENDED の場合、最大長は 32767 バイトです。 MAX_STRING_SIZE = STANDARD の場合、最大長は 4000 バイトです。 | NATIONALVARCHAR[(n)] | VARCHAR2[(n)] | VARCHAR | VARCHAR | NVARCHAR2(size) | |
LONG | 最大長 2 GB (2^31-1)。 | LONGTEXT | LONG | VARCHAR | TEXT | LONG | |
RAW(size) | 最大長 32767 バイトまたは 2000 バイト。 | BINARY(2*size) | RAW(size) | VARBINARY | BYTEA | RAW(size) | |
LONG RAW | 最大長 2 GB。 | LONGBLOB | LONG RAW | VARBINARY | BYTEA | LONG RAW | |
CLOB | 最大長 (4 GB - 1) × DB_BLOCK_SIZE。 | LONGTEXT | CLOB | VARCHAR | TEXT | CLOB | |
NCLOB | 最大長 (4 GB - 1) × DB_BLOCK_SIZE。 | LONGTEXT | NCLOB | VARCHAR | TEXT | CLOB | |
BLOB | 最大長 (4 GB - 1) × DB_BLOCK_SIZE。 | LONGBLOB | BLOB | VARBINARY | BYTEA | BLOB | |
BFILE | 4G。 | サポートされていません | サポートされていません | サポートされていません | サポートされていません | サポートされていません | |
JSON 型 | JSON | 最大長 32 MB。 | サポートされていません | サポートされていません | JSON | JSON | JSON |
ROWID 型 | ROWID | 64 文字。 | サポートされていません | サポートされていません | ROWID | OID | VARCHAR |
UROWID | 64 文字。 | サポートされていません | サポートされていません | サポートされていません | サポートされていません | サポートされていません | |
空間データ型 | カスタマイズが必要です | サポートされていません | |||||
ターゲットインスタンスが MySQL、PolarDB for MySQL、または PolarDB-X の場合:
CHAR 型の場合、定義された長さが 255 を超えると、DTS はその型を VARCHAR(n) に変換します。
MySQL は、Oracle で利用可能な BFILE、INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECOND などのデータ型をサポートしていません。スキーマ移行中、DTS は MySQL で対応するデータ型を見つけることができません。そのため、これら 3 つの型は変換されません。
テーブルにこれら 3 つのデータ型が含まれている場合、スキーマ移行は失敗します。移行オブジェクトを選択する際には、これら 3 つのデータ型を使用する列を除外する必要があります。
MySQL の TIMESTAMP 型には、タイムゾーン情報が含まれていません。Oracle の TIMESTAMP WITH TIME ZONE および TIMESTAMP WITH LOCAL TIME ZONE 型には、デフォルトでタイムゾーン情報が含まれています。DTS がこれら 2 つの型のデータを移行する場合、データを UTC に変換してからターゲットインスタンスに保存します。
ターゲットインスタンスが ApsaraDB RDS for PPAS の場合:
ApsaraDB RDS for PPAS は TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE をサポートしていません。DTS がこの型のデータを移行する場合、データを UTC に変換し、ターゲットの ApsaraDB RDS for PPAS インスタンスの TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE 列に保存します。
ターゲットインスタンスが AnalyticDB for PostgreSQL の場合:
AnalyticDB for PostgreSQL でサポートされていないフィールド型については、DTS は直接 BYTEA に変換します。変換に失敗した場合、データ内容は NULL に設定されます。
SQL Server からのデータ移行
ソースインスタンスが SQL Server (自己管理 SQL Server および RDS for SQL Server を含む) で、ターゲットインスタンスが AnalyticDB for MySQL、AnalyticDB for PostgreSQL、PostgreSQL、または PolarDB for MySQL クラスターなどの異種データベースである場合、データ型マッピングは次のようになります。
ソースインスタンスから移行されるデータが DTS でサポートされている範囲外である場合、ターゲットインスタンスに移行されたデータの精度は低下します。
カテゴリ | SQL Server データ型 | 値の範囲 | AnalyticDB for MySQL のデータ型 | PostgreSQL および AnalyticDB for PostgreSQL のデータ型 | MySQL および PolarDB for MySQL のデータ型 |
整数型 | BIT | 1、0、または NULL になりうる INTEGER データ型 | 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 | |
小数型 | 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(19, 4) |
SMALLMONEY | -214,748.3648~214,748.3647 | DECIMAL(10, 4) | DECIMAL(10, 4) | DECIMAL(10, 4) | |
日付型 | 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(3) | |
DATETIME2[ (fractional seconds precision) ] | 日付範囲:0001年1月1日~9999年12月31日。 時間範囲:00:00:00~23:59:59.9999999 | DATETIME | TIMESTAMP(7) WITHOUT TIME ZONE | DATETIME(p) 説明 デフォルトの精度は 6 です。 | |
DATETIMEOFFSET [ (fractional seconds precision) ] | 日付範囲:0001年1月1日~9999年12月31日。 時間範囲:00:00:00~23:59:59.9999999。 タイムゾーンオフセット範囲:-14:00~+14:00。 | TIMESTAMP | TIMESTAMP(7) WITH TIME ZONE | DATETIME(p) 説明 デフォルトの精度は 6 です。 | |
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(p) | |
TIMESTAMP[(fsp)] | 1970-01-01 00:00:01.000000~2038-01-19 03:14:07.999999 説明 フォーマットは YYYY-MM-DD hh:mm:ss[.fraction] (UTC) です。 | VARBINARY(8) | BYTEA | VARBINARY(8) | |
文字列型 | BINARY [ ( n ) ] | n は 1~8,000 の範囲です。 | VARBINARY | BYTEA |
|
VARBINARY [ ( n | max) ] | n は 1~8,000 の範囲です。max は、最大ストレージサイズが 2^31-1 バイトであることを示します。 | VARBINARY | BYTEA |
| |
CHAR [ ( n ) ] | n は 1~8,000 の範囲です。ストレージサイズは n バイトです。 | VARCHAR | CHARACTER |
| |
VARCHAR [ ( n | max ) ] | n は 1~8,000 の範囲です。max は、最大ストレージサイズが 2^31-1 バイト (2 GB) であることを示します。 | VARCHAR | CHARACTER |
| |
NCHAR [ ( n ) ] | 2 バイト単位で、n は 1~4,000 の範囲です。ストレージサイズは n バイトの 2 倍です。 | VARCHAR | CHARACTER VARYING | VARCHAR(200) | |
NVARCHAR [ ( n | max ) ] | 2 バイト単位で、n は 1~4,000 の範囲です。max は、最大ストレージサイズが 2^30-1 文字 (2 GB) であることを示します。 | VARCHAR | TEXT |
| |
NTEXT | 最大文字列長が 2^30-1 (1,073,741,823) バイトの可変長 Unicode データ。 | VARCHAR | TEXT | LONGTEXT | |
TEXT | 最大文字列長は 2^31-1 (2,147,483,647) バイトです。 | VARCHAR | TEXT | LONGTEXT | |
IMAGE | 0~2^31-1 (2,147,483,647) バイトの可変長バイナリデータ。 | VARBINARY | BYTEA | LONGBLOB | |
空間およびジオメトリ型 | GEOGRAPHY | なし | VARCHAR | サポートされていません | BLOB |
GEOMETRY | なし | VARCHAR | サポートされていません | BLOB | |
XML 型 | XML ( [ CONTENT | DOCUMENT ] xml_schema_collection ) | なし | VARCHAR | XML | LONGTEXT |
その他の型 | UNIQUEIDENTIFIER | なし | VARCHAR | CHARACTER(36) | CHAR(36) |
SQL_VARIANT | なし | サポートされていません | サポートされていません | VARCHAR(200) | |
HIERARCHYID | なし | サポートされていません | サポートされていません | VARCHAR(200) | |
SYSNAME | なし | VARCHAR | CHARACTER VARYING(128) | VARCHAR(200) |
自己管理 TiDB からのデータ移行
ソースインスタンスが自己管理 TiDB データベースで、ターゲットインスタンスが MySQL や AnalyticDB for 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 |
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-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 | |
文字列型 | 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 |
Teradata からのデータ移行
ソースインスタンスが Teradata で、ターゲットインスタンスが AnalyticDB for PostgreSQL などの異種データベースである場合、データ型マッピングは次のようになります:
Teradata データ型 | AnalyticDB for PostgreSQL データ型 |
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 データの型 | AnalyticDB for PostgreSQL データの型 |
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 |