全部产品
Search
文档中心

Data Transmission Service:Pemetaan tipe data untuk database heterogen

更新时间:Dec 06, 2025

Berbagai jenis database, yang dikenal sebagai database heterogen, mendukung tipe data yang berbeda. Saat Data Transmission Service (DTS) melakukan migrasi data antar database heterogen, DTS memetakan tipe data selama fase migrasi skema dengan mengonversi tipe data dari database sumber ke tipe data yang didukung oleh database tujuan. Topik ini mencantumkan pemetaan tipe data secara rinci, yang dapat Anda gunakan untuk memeriksa dan menilai dampak migrasi data terhadap layanan Anda.

Ikhtisar

Temukan pemetaan tipe data untuk skenario migrasi Anda:

Penting

Jika bidang waktu sumber memiliki tipe data TIMESTAMP WITH TIME ZONE dan bidang waktu tujuan memiliki tipe data yang berbeda, seperti DATETIME, informasi zona waktu akan hilang.

Migrasi data dari PolarDB for MySQL, RDS for MySQL, dan MySQL yang dikelola sendiri

Ketika instans sumber adalah PolarDB for MySQL, RDS for MySQL, atau database MySQL yang dikelola sendiri, dan instans tujuan adalah database heterogen seperti AnalyticDB for MySQL dan 2.0, atau AnalyticDB for PostgreSQL, pemetaan tipe datanya adalah sebagai berikut.

Catatan

Jika data yang akan dimigrasikan dari instans sumber berada di luar rentang yang didukung oleh DTS, presisi data yang dimigrasikan di instans tujuan akan berkurang.

Instans tujuan adalah AnalyticDB for MySQL atau AnalyticDB for PostgreSQL

Kategori

Tipe data instans sumber

Rentang nilai

Tipe data AnalyticDB for MySQL

Tipe data AnalyticDB for PostgreSQL

Tipe integer

BIT[(M)]

1 hingga 64

VARCHAR

BIT[(M)]

TINYINT[(M)]

-128 hingga 127

TINYINT

SMALLINT

TINYINT[(M)] [UNSIGNED]

0 hingga 255

SMALLINT

SMALLINT

SMALLINT[(M)]

-32768 hingga 32767

SMALLINT

SMALLINT

SMALLINT[(M)] [UNSIGNED]

0 hingga 65535

INT

INTEGER

MEDIUMINT[(M)]

-8388608 hingga 8388607

INT

INTEGER

MEDIUMINT[(M)] [UNSIGNED]

0 hingga 16777215

INT

INTEGER

INT[(M)]

-2147483648 hingga 2147483647

INT

INTEGER

INT[(M)] [UNSIGNED]

0 hingga 4294967295

BIGINT

BIGINT

BIGINT[(M)]

-9223372036854775808 hingga 9223372036854775807

BIGINT

BIGINT

BIGINT[(M)] [UNSIGNED]

0 hingga 18446744073709551615

DECIMAL(20,0)

NUMERIC(20)

Tipe desimal

DECIMAL[(M[,D])]

M: 0 hingga 65.

D: 0 hingga 30.

DECIMAL[(M[,D])]

DECIMAL[(M[,D])]

FLOAT(p)

1.175494351E-38 hingga 3.402823466E+38

FLOAT

REAL

DOUBLE[(M,D)]

2.2250738585072014E-308 hingga 1.7976931348623157E+308

DOUBLE

DOUBLE PRECISION

Tipe waktu

DATE

1000-01-01 hingga 9999-12-31

Catatan

Formatnya adalah YYYY-MM-DD.

DATE

DATE

DATETIME[(fsp)]

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

Catatan

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

DATETIME

TIMESTAMP

TIMESTAMP[(fsp)]

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

Catatan

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

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIME[(fsp)]

-838:59:59.000000 hingga 838:59:59.000000

Catatan

Formatnya adalah hh:mm:ss[.fraction] (UTC).

TIME

TIME WITHOUT TIME ZONE

YEAR[(4)]

1901 hingga 2155, atau 0000

INT

INTEGER

Tipe string

CHAR[(M)]

0 hingga 255 karakter

VARCHAR

CHAR

VARCHAR(M)

0 hingga 65.535 karakter

VARCHAR

VARCHAR

BINARY[(M)]

0 hingga 255 byte

VARBINARY

BYTEA

VARBINARY(M)

0 hingga 65.535 byte

VARBINARY

BYTEA

TINYBLOB

255 (2^8 - 1) byte

VARBINARY

BYTEA

TINYTEXT

255 (2^8 - 1) karakter

VARCHAR

TEXT

BLOB

65.535 (2^16 - 1) byte

VARBINARY

BYTEA

TEXT

65.535 (2^16 - 1) karakter

VARCHAR

TEXT

MEDIUMBLOB

16.777.215 (2^24 - 1) byte

VARBINARY

BYTEA

MEDIUMTEXT

16.777.215 (2^24 - 1) karakter

VARCHAR

TEXT

LONGBLOB

4.294.967.295 atau 4 GB (2^32 - 1) byte

VARBINARY

BYTEA

LONGTEXT

4.294.967.295 atau 4 GB (2^32 - 1) karakter

VARCHAR

TEXT

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

Hingga 65.535 nilai enumerasi

VARCHAR

VARCHAR(128)

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

Hingga 64 elemen

VARCHAR

VARCHAR(128)

Tipe spasial

GEOMETRY

Nilai dari tipe geometri apa pun

VARBINARY

POLYGON

POINT

Tidak ada

VARBINARY

POINT

LINESTRING

Tidak ada

VARBINARY

PATH

POLYGON

Tidak ada

VARBINARY

POLYGON

MULTIPOINT

Tidak ada

VARBINARY

POLYGON

MULTILINESTRING

Tidak ada

VARBINARY

PATH

MULTIPOLYGON

Tidak ada

VARBINARY

POLYGON

GEOMETRYCOLLECTION

Kumpulan nilai dari tipe geometri apa pun

VARBINARY

POLYGON

Tipe JSON

JSON

Tidak ada

JSON

JSON

Database tujuan: proyek DataHub, instans ApsaraMQ for Kafka, atau kluster Kafka yang dikelola sendiri

Tipe

Tipe data di database sumber

Rentang nilai

Tipe data di DataHub

Tipe data di instans ApsaraMQ for Kafka atau kluster Kafka yang dikelola sendiri

Integer

BIT[(M)]

1 ~ 64

BOOLEAN | STRING

Konsisten dengan tipe data di MySQL atau 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

Desimal

DECIMAL[(M[,D])]

M: 0 hingga 65

D: 0 hingga 30

DECIMAL

FLOAT(p)

1.175494351E-38 ~ 3.402823466E+38

DOUBLE

DOUBLE[(M,D)]

2.2250738585072014E-308 ~ 1.7976931348623157E+308

DOUBLE

Tanggal dan waktu

DATE

1000-01-01~9999-12-31

Catatan

Formatnya adalah YYYY-MM-DD.

TIMESTAMP

DATETIME[(fsp)]

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

Catatan

Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction], dalam UTC.

TIMESTAMP

TIMESTAMP[(fsp)]

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

Catatan

Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction], dalam UTC.

TIMESTAMP

TIME[(fsp)]

-838:59:59.000000 ~ 838:59:59.000000

Catatan

Formatnya adalah hh:mm:ss[.fraction], dalam UTC.

STRING

YEAR[(4)]

1901 hingga 2155, atau 0000

STRING

String

CHAR[(M)]

0 hingga 255 karakter

STRING

VARCHAR(M)

0 hingga 65.535 karakter

STRING

BINARY[(M)]

0 hingga 255 byte

STRING

VARBINARY(M)

0 hingga 65.535 byte

STRING

TINYBLOB

255 (2^8 - 1) byte

STRING

TINYTEXT

255 (2^8 - 1) karakter

STRING

BLOB

65.535 (2^16 - 1) byte

STRING

TEXT

65.535 (2^16 - 1) karakter

STRING

MEDIUMBLOB

16.777.215 (2^24 - 1) byte

STRING

MEDIUMTEXT

16.777.215 (2^24 - 1) karakter

STRING

LONGBLOB

4.294.967.295 atau 4 GB (2^32 - 1) byte

STRING

LONGTEXT

4.294.967.295 atau 4 GB (2^32 - 1) karakter

STRING

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

Kolom ENUM dapat memiliki maksimal 65.535 elemen berbeda.

STRING

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

Kolom SET dapat memiliki maksimal 64 elemen berbeda.

STRING

Spasial

GEOMETRY

Nilai geometri dari tipe apa pun

STRING

POINT

T/A

STRING

LINESTRING

T/A

STRING

POLYGON

T/A

STRING

MULTIPOINT

T/A

STRING

MULTILINESTRING

T/A

STRING

MULTIPOLYGON

T/A

STRING

GEOMETRYCOLLECTION

Kumpulan nilai geometri dari tipe apa pun

STRING

JSON

JSON

T/A

STRING

Database tujuan: proyek MaxCompute, kluster Elasticsearch, atau kluster ClickHouse

Tipe

Tipe data di database sumber

Rentang nilai

MaxCompute

Elasticsearch

ClickHouse

Integer

BIT[(M)]

1 ~ 64

BOOLEAN | STRING

BOOLEAN | LONG

Catatan

Jika data hanya sepanjang satu byte, kami menyarankan Anda menggunakan tipe data BOOLEAN di Elasticsearch.

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

Desimal

DECIMAL[(M[,D])]

M: 0 hingga 65

D: 0 hingga 30

DOUBLE

DOUBLE

Catatan

Jika nilai DECIMAL mengandung titik desimal, kami menyarankan Anda menggunakan tipe data TEXT di Elasticsearch untuk memastikan konsistensi data.

DECIMAL

FLOAT(p)

1.175494351E-38 ~ 3.402823466E+38

DOUBLE

FLOAT

Float32

DOUBLE[(M,D)]

2.2250738585072014E-308 ~ 1.7976931348623157E+308

DOUBLE

DOUBLE

Float64

Tanggal dan waktu

DATE

1000-01-01~9999-12-31

Catatan

Formatnya adalah YYYY-MM-DD.

DATETIME

DATE

Catatan

Formatnya adalah YYYY-MM-DD. Untuk informasi selengkapnya, lihat format.

DATE32

Catatan

Nilai valid tipe data DATE di ClickHouse lebih kecil daripada di MySQL. Jika ClickHouse menggunakan tipe data DATE, operasi penulisan data mungkin gagal.

DATETIME[(fsp)]

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

Catatan

Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction], dalam UTC.

DATETIME

DATE

Catatan

Format data DATE adalah yyyy-MM-dd'T'HH:mm:ss, dalam UTC. Jika data DATE akurat hingga mikrodetik, format datanya adalah yyyy-MM-dd'T'HH:mm:ss.S. Untuk informasi selengkapnya, lihat format

DATETIME64

Catatan

Nilai valid tipe data DATETIME di ClickHouse lebih kecil daripada di MySQL. Jika ClickHouse menggunakan tipe data DATETIME, operasi penulisan data mungkin gagal.

TIMESTAMP[(fsp)]

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

Catatan

Formatnya adalah YYYY-MM-DD hh:mm:ss[.fraction], dalam UTC.

DATETIME

DATE

Catatan

Format data DATE adalah yyyy-MM-dd'T'HH:mm:ss, dalam UTC. Jika data DATE akurat hingga mikrodetik, format datanya adalah yyyy-MM-dd'T'HH:mm:ss.S. Untuk informasi selengkapnya, lihat format.

DATETIME

Catatan

Data DATETIME tidak berisi informasi tentang zona waktu.

TIME[(fsp)]

-838:59:59.000000 ~ 838:59:59.000000

Catatan

Formatnya adalah hh:mm:ss[.fraction], dalam UTC.

STRING

DATE

Catatan

Formatnya adalah YYYY-MM-DD. Untuk informasi selengkapnya, lihat format.

STRING

YEAR[(4)]

1901 hingga 2155, atau 0000

STRING

DATE

Catatan

Format DATE adalah yyyy, dalam UTC. Untuk informasi selengkapnya, lihat format.

Int16

String

CHAR[(M)]

0 hingga 255 karakter

STRING

TEXT

STRING

VARCHAR(M)

0 hingga 65.535 karakter

STRING

TEXT

STRING

BINARY[(M)]

0 hingga 255 byte

STRING

BINARY

STRING

VARBINARY(M)

0 hingga 65.535 byte

STRING

BINARY

STRING

TINYBLOB

255 (2^8 - 1) byte

STRING

BINARY

STRING

TINYTEXT

255 (2^8 - 1) karakter

STRING

TEXT

STRING

BLOB

65.535 (2^16 - 1) byte

STRING

BINARY

STRING

TEXT

65.535 (2^16 - 1) karakter

STRING

TEXT

STRING

MEDIUMBLOB

16.777.215 (2^24 - 1) byte

STRING

BINARY

STRING

MEDIUMTEXT

16.777.215 (2^24 - 1) karakter

STRING

TEXT

STRING

LONGBLOB

4.294.967.295 atau 4 GB (2^32 - 1) byte

STRING

BINARY

STRING

LONGTEXT

4.294.967.295 atau 4 GB (2^32 - 1) karakter

STRING

TEXT

STRING

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

Kolom ENUM dapat memiliki maksimal 65.535 elemen berbeda.

STRING

KEYWORD

ENUM

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

Kolom SET dapat memiliki maksimal 64 elemen berbeda.

STRING

KEYWORD

STRING

Spasial

GEOMETRY

Nilai geometri dari tipe apa pun

STRING

GEO_SHAPE

STRING

POINT

T/A

STRING

GEO_POINT

STRING

LINESTRING

T/A

STRING

GEO_SHAPE

STRING

POLYGON

T/A

STRING

GEO_SHAPE

STRING

MULTIPOINT

T/A

STRING

GEO_SHAPE

Catatan

Jika data hanya sepanjang satu byte, kami menyarankan Anda menggunakan tipe data BOOLEAN di Elasticsearch.

STRING

MULTILINESTRING

T/A

STRING

GEO_SHAPE

STRING

MULTIPOLYGON

T/A

STRING

GEO_SHAPE

STRING

GEOMETRYCOLLECTION

Kumpulan nilai geometri dari tipe apa pun

STRING

GEO_SHAPE

STRING

JSON

JSON

T/A

STRING

OBJECT

Catatan

Jika data hanya sepanjang satu byte, kami menyarankan Anda menggunakan tipe data BOOLEAN di Elasticsearch.

STRING

Database tujuan: instans Tablestore

Tipe data di database sumber

Tipe data di 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 atau INTEGER

Catatan

Nilai default: 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

Database tujuan: instans Lindorm

Tipe data di database sumber

Tipe data di Lindorm

BOOLEAN

BOOLEAN

BIT

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INTEGER

INTEGER

BIGINT

BIGINT

BIGINT UNSIGNED

Penting

Hanya tipe BIGINT yang berkisar dari -9223372036854775808 hingga 9223372036854775807 yang didukung.

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL

DECIMAL

Penting

Instans tujuan harus memiliki presisi yang sama dengan bidang di instans sumber.

CHAR/VARCHAR/TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT

CHAR/VARCHAR

BINARY

BINARY

BLOB

VARBINARY

VARBINAY

VARBINARY

TIMESTAMP

TIMESTAMP

YEAR

INTEGER

DATE

Pilih tipe data berdasarkan versi instans Lindorm tujuan.

  • V2.8.0.2 atau yang lebih baru: DATE

  • Lebih lama dari V2.8.0.2: VARCHAR

DATETIME

VARCHAR

Penting
  • Kami menyarankan Anda memetakan data DATETIME di database sumber ke data tipe VARCHAR di database tujuan.

  • Jika Anda ingin memetakan data DATETIME ke data tipe TIMESTAMP, ketidakkonsistenan data mungkin terjadi karena perbedaan zona waktu. Kami menyarankan Anda menggunakan fitur ekstrak, transformasi, dan muat (ETL) saat mengonfigurasi tugas sinkronisasi data. Hal ini memastikan konsistensi data.

TIME

Pilih tipe data berdasarkan versi instans Lindorm tujuan.

  • V2.8.0.2 atau yang lebih baru: TIME

    Catatan

    Format TIME adalah hh:mm:ss. Jika waktu melebihi ambang batas, bagian yang melebihi ambang batas akan dipotong. Misalnya, jika waktu data sumber adalah 08:11:15.354, data yang ditulis ke database tujuan adalah 08:11:15.

  • Lebih lama dari V2.8.0.2: VARCHAR

JSON

JSON

Migrasi data dari Oracle

Ketika instans sumber adalah database Oracle yang dikelola sendiri dan instans tujuan adalah database heterogen seperti MySQL, PolarDB for MySQL, AnalyticDB for MySQL, AnalyticDB for PostgreSQL, atau PolarDB for PostgreSQL (Kompatibel dengan Oracle), pemetaan tipe datanya adalah sebagai berikut.

Catatan

Jika data yang akan dimigrasikan dari instans sumber berada di luar rentang yang didukung oleh DTS, presisi data yang dimigrasikan di instans tujuan akan berkurang.

Kategori

Tipe data Oracle

Rentang nilai

Tipe data MySQL, PolarDB for MySQL, dan PolarDB-X

Tipe data ApsaraDB RDS for PPAS

Tipe data AnalyticDB for MySQL

Tipe data AnalyticDB for PostgreSQL

Tipe data PolarDB for PostgreSQL (Kompatibel dengan Oracle)

Tipe numerik

NUMBER(p,s)

1 hingga 22 byte.

p merepresentasikan presisi dan berkisar dari 1 hingga 38.

s merepresentasikan tempat desimal dan berkisar dari -84 hingga 127.

DECIMAL[(p[,s])]

Catatan

Jika baik presisi maupun tempat desimal tidak ada, dipetakan ke DECIMAL(65,30).

NUMBER[(p[,s])]

DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT

DECIMAL | TINYINT | SMALLINT | INTEGER | BIGINT

NUMBER(p,s)

FLOAT(p)

1 hingga 22 byte.

p merepresentasikan variabel pointer dan berkisar dari 1 hingga 126 bit.

FLOAT

DOUBLE PRECISION

DOUBLE

DOUBLE PRECISION

DOUBLE PRECISION

BINARY_FLOAT

bilangan titik mengambang 32-bit, yaitu 4 byte.

FLOAT

REAL

DOUBLE

DOUBLE PRECISION

REAL

BINARY_DOUBLE

bilangan titik mengambang 64-bit, yaitu 8 byte.

DOUBLE

DOUBLE PRECISION

DOUBLE

DOUBLE PRECISION

DOUBLE PRECISION

Tipe tanggal

DATE

Tidak ada

DATETIME

DATE

DATETIME

TIMESTAMP(0)

DATE

TIMESTAMP [(fractional_seconds_precision)]

Tidak ada

DATETIME[(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)]

DATETIME

TIMESTAMP

TIMESTAMP [(fractional_seconds_precision)]

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

Tidak ada

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

Tidak ada

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

Tidak ada

Tidak didukung

Tidak didukung

VARCHAR

VARCHAR(32)

INTERVAL

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

Tidak ada

Tidak didukung

Tidak didukung

VARCHAR

VARCHAR(32)

INTERVAL

Tipe string

CHAR [(size [BYTE | CHAR])]

2000 byte.

CHAR[(n)]

Catatan

Jika panjang tidak ada, dipetakan ke CHAR(1).

CHAR[(n)]

VARCHAR

CHAR

CHAR [(size [BYTE | CHAR])]

NCHAR[(size)]

2000 byte.

NATIONAL CHAR[(n)]

Catatan

Jika panjang tidak ada, dipetakan ke NATIONAL CHAR(1).

NCHAR[(n)]

VARCHAR

VARCHAR

NCHAR[(size)]

VARCHAR(size [BYTE | CHAR])

Saat MAX_STRING_SIZE = EXTENDED, panjang maksimum adalah 32767 byte.

Saat MAX_STRING_SIZE = STANDARD, panjang maksimum adalah 4000 byte.

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR2(size [BYTE | CHAR])

Saat MAX_STRING_SIZE = EXTENDED, panjang maksimum adalah 32767 byte.

Saat MAX_STRING_SIZE = STANDARD, panjang maksimum adalah 4000 byte.

VARCHAR(n)

VARCHAR2[(n)]

VARCHAR

VARCHAR

VARCHAR2(size [BYTE | CHAR])

NVARCHAR2(size)

Saat MAX_STRING_SIZE = EXTENDED, panjang maksimum adalah 32767 byte.

Saat MAX_STRING_SIZE = STANDARD, panjang maksimum adalah 4000 byte.

NATIONALVARCHAR[(n)]

VARCHAR2[(n)]

VARCHAR

VARCHAR

NVARCHAR2(size)

LONG

Panjang maksimum 2 GB (2^31-1).

LONGTEXT

LONG

VARCHAR

TEXT

LONG

RAW(size)

Panjang maksimum 32767 byte atau 2000 byte.

BINARY(2*size)

RAW(size)

VARBINARY

BYTEA

RAW(size)

LONG RAW

Panjang maksimum 2 GB.

LONGBLOB

LONG RAW

VARBINARY

BYTEA

LONG RAW

CLOB

Panjang maksimum (4 GB - 1) × DB_BLOCK_SIZE.

LONGTEXT

CLOB

VARCHAR

TEXT

CLOB

NCLOB

Panjang maksimum (4 GB - 1) × DB_BLOCK_SIZE.

LONGTEXT

NCLOB

VARCHAR

TEXT

CLOB

BLOB

Panjang maksimum (4 GB - 1) × DB_BLOCK_SIZE.

LONGBLOB

BLOB

VARBINARY

BYTEA

BLOB

BFILE

4G.

Tidak didukung

Tidak didukung

Tidak didukung

Tidak didukung

Tidak didukung

Tipe JSON

JSON

Panjang maksimum 32 MB.

Tidak didukung

Tidak didukung

JSON

JSON

JSON

Tipe ROWID

ROWID

64 karakter.

Tidak didukung

Tidak didukung

ROWID

OID

VARCHAR

UROWID

64 karakter.

Tidak didukung

Tidak didukung

Tidak didukung

Tidak didukung

Tidak didukung

Tipe spasial

Memerlukan kustomisasi

Tidak didukung

Catatan
  • Saat instans tujuan adalah MySQL, PolarDB for MySQL, atau PolarDB-X:

    • Untuk tipe CHAR, jika panjang yang ditentukan melebihi 255, DTS mengonversi tipe tersebut menjadi VARCHAR(n).

    • MySQL tidak mendukung tipe data seperti BFILE, INTERVAL YEAR TO MONTH, dan INTERVAL DAY TO SECOND yang tersedia di Oracle. Selama migrasi skema, DTS tidak dapat menemukan tipe data yang sesuai di MySQL. Oleh karena itu, ketiga tipe ini tidak dikonversi.

      Jika sebuah tabel berisi ketiga tipe data ini, migrasi skema akan gagal. Saat memilih objek migrasi, Anda harus mengecualikan kolom yang menggunakan ketiga tipe data ini.

    • Tipe TIMESTAMP di MySQL tidak menyertakan informasi zona waktu. Tipe TIMESTAMP WITH TIME ZONE dan TIMESTAMP WITH LOCAL TIME ZONE di Oracle menyertakan informasi zona waktu secara default. Saat DTS memigrasikan data dari kedua tipe ini, DTS mengonversi data ke UTC sebelum menyimpannya di instans tujuan.

  • Saat instans tujuan adalah ApsaraDB RDS for PPAS:

    ApsaraDB RDS for PPAS tidak mendukung TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE. Saat DTS memigrasikan data dari tipe ini, DTS mengonversi data ke UTC lalu menyimpannya di kolom TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE di instans tujuan ApsaraDB RDS for PPAS.

  • Saat instans tujuan adalah AnalyticDB for PostgreSQL:

    Untuk tipe bidang yang tidak didukung oleh AnalyticDB for PostgreSQL, DTS mengonversinya langsung ke BYTEA. Jika konversi gagal, konten data diatur ke NULL.

Migrasi data dari SQL Server

Ketika instans sumber adalah SQL Server (termasuk SQL Server yang dikelola sendiri dan RDS for SQL Server) dan instans tujuan adalah database heterogen seperti AnalyticDB for MySQL, AnalyticDB for PostgreSQL, PostgreSQL, atau kluster PolarDB for MySQL, pemetaan tipe datanya adalah sebagai berikut.

Catatan

Jika data yang akan dimigrasikan dari instans sumber berada di luar rentang yang didukung oleh DTS, presisi data yang dimigrasikan di instans tujuan akan berkurang.

Kategori

Tipe data SQL Server

Rentang nilai

Tipe data AnalyticDB for MySQL

Tipe data PostgreSQL dan AnalyticDB for PostgreSQL

Tipe data MySQL dan PolarDB for MySQL

Tipe integer

BIT

Tipe data INTEGER yang bisa bernilai 1, 0, atau NULL

BOOLEAN

BIT(1)

BIT(1)

TINYINT

0 hingga 255

TINYINT

SMALLINT

TINYINT UNSIGNED

SMALLINT

-2^15 (-32768) hingga 2^15-1 (32767)

SMALLINT

SMALLINT

SMALLINT

INT

-2^31 (-2147483648) hingga 2^31-1 (2147483647)

INTEGER

INTEGER

INT

BIGINT

-2^63 (-9223372036854775808) hingga 2^63-1 (9223372036854775807)

BIGINT

BIGINT

BIGINT

Tipe desimal

NUMERIC[ (p[ ,s] )]

-10^38+1 hingga 10^38-1; 1 <= p <= 38

DECIMAL

DECIMAL

DECIMAL[ (p[ ,s] )]

DECIMAL[ (p[ ,s] )]

-10^38+1 hingga 10^38-1; 1 <= p <= 38

DECIMAL

DECIMAL

DECIMAL[ (p[ ,s] )]

FLOAT

-1.79E+308 hingga -2.23E -308, 0, dan 2.23E-308 hingga 1.79E+308

DOUBLE

DOUBLE PRECISION

DOUBLE

REAL

-3.40E+38 hingga -1.18E- 38, 0, dan 1.18E-38 hingga 3.40E +38

FLOAT

REAL

DOUBLE

Tipe mata uang

MONEY

-922.337.203.685.477,5808 hingga 922.337.203.685.477,5807

DECIMAL(19, 4)

DECIMAL(19, 4)

DECIMAL(19, 4)

SMALLMONEY

-214.748,3648 hingga 214.748,3647

DECIMAL(10, 4)

DECIMAL(10, 4)

DECIMAL(10, 4)

Tipe tanggal

DATE

0001-01-01 hingga 9999-12-31

DATE

DATE

DATE

DATETIME

Rentang tanggal: 1 Januari 1753 hingga 31 Desember 9999.

Rentang waktu: 00:00:00 hingga 23:59:59.997

DATETIME

TIMESTAMP(3) WITHOUT TIME ZONE

DATETIME(3)

DATETIME2[ (fractional seconds precision) ]

Rentang tanggal: 1 Januari 0001 hingga 31 Desember 9999.

Rentang waktu: 00:00:00 hingga 23:59:59.9999999

DATETIME

TIMESTAMP(7) WITHOUT TIME ZONE

DATETIME(p)

Catatan

Presisi default adalah 6.

DATETIMEOFFSET [ (fractional seconds precision) ]

Rentang tanggal: 1 Januari 0001 hingga 31 Desember 9999.

Rentang waktu: 00:00:00 hingga 23:59:59.9999999.

Rentang offset zona waktu: -14:00 hingga +14:00.

TIMESTAMP

TIMESTAMP(7) WITH TIME ZONE

DATETIME(p)

Catatan

Presisi default adalah 6.

SMALLDATETIME

Detik selalu nol (:00) dan tidak memiliki bagian pecahan.

DATETIME

TIMESTAMP WITHOUT TIME ZONE

DATETIME

TIME [ (fractional second scale) ]

00:00:00.0000000 hingga 23:59:59.9999999

TIME

TIME(7) WITH TIME ZONE

TIME(p)

TIMESTAMP[(fsp)]

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

Catatan

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

VARBINARY(8)

BYTEA

VARBINARY(8)

Tipe string

BINARY [ ( n ) ]

n berkisar dari 1 hingga 8.000.

VARBINARY

BYTEA

  • Jika panjang > 255: BLOB

  • Jika tidak: BINARY(n)

VARBINARY [ ( n | max) ]

n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte.

VARBINARY

BYTEA

  • Jika panjang = max: LONGBLOB

  • Jika tidak: VARBINARY(n)

CHAR [ ( n ) ]

n berkisar dari 1 hingga 8.000. Ukuran penyimpanan adalah n byte.

VARCHAR

CHARACTER

  • Jika panjang > 255: VARCHAR

  • Jika tidak: CHAR

VARCHAR [ ( n | max ) ]

n berkisar dari 1 hingga 8.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^31-1 byte (2 GB).

VARCHAR

CHARACTER

  • Jika panjang = max: LONGTEXT

  • Jika tidak: VARCHAR(n)

NCHAR [ ( n ) ]

Dalam satuan byte ganda, n berkisar dari 1 hingga 4.000. Ukuran penyimpanan adalah dua kali n byte.

VARCHAR

CHARACTER VARYING

VARCHAR(200)

NVARCHAR [ ( n | max ) ]

Dalam satuan byte ganda, n berkisar dari 1 hingga 4.000. max menunjukkan ukuran penyimpanan maksimum adalah 2^30-1 karakter (2 GB).

VARCHAR

TEXT

  • Jika panjang = max: LONGTEXT

  • Jika tidak: VARCHAR(n)

NTEXT

Data Unicode panjang variabel dengan panjang string maksimum 2^30-1 (1.073.741.823) byte.

VARCHAR

TEXT

LONGTEXT

TEXT

Panjang string maksimum adalah 2^31-1 (2.147.483.647) byte.

VARCHAR

TEXT

LONGTEXT

IMAGE

Data biner panjang variabel dari 0 hingga 2^31-1 (2.147.483.647) byte.

VARBINARY

BYTEA

LONGBLOB

Tipe spasial dan geometri

GEOGRAPHY

Tidak ada

VARCHAR

Tidak didukung

BLOB

GEOMETRY

Tidak ada

VARCHAR

Tidak didukung

BLOB

Tipe XML

XML ( [ CONTENT | DOCUMENT ] xml_schema_collection )

Tidak ada

VARCHAR

XML

LONGTEXT

Tipe lainnya

UNIQUEIDENTIFIER

Tidak ada

VARCHAR

CHARACTER(36)

CHAR(36)

SQL_VARIANT

Tidak ada

Tidak didukung

Tidak didukung

VARCHAR(200)

HIERARCHYID

Tidak ada

Tidak didukung

Tidak didukung

VARCHAR(200)

SYSNAME

Tidak ada

VARCHAR

CHARACTER VARYING(128)

VARCHAR(200)

Migrasi data dari TiDB yang dikelola sendiri

Ketika instans sumber adalah database TiDB yang dikelola sendiri dan instans tujuan adalah database heterogen, seperti MySQL atau AnalyticDB for MySQL 3.0, pemetaan tipe datanya adalah sebagai berikut:

Tipe data TiDB

Tipe data 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 atau 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

Migrasi data dari DB2 for LUW

Ketika instans sumber adalah DB2 for LUW dan instans tujuan adalah database heterogen, seperti MySQL, pemetaan tipe datanya adalah sebagai berikut:

Catatan

Jika data yang akan dimigrasikan dari instans sumber berada di luar rentang yang didukung oleh DTS, presisi data yang dimigrasikan di instans tujuan akan berkurang.

Kategori

Tipe data DB2 for LUW

Rentang nilai

Tipe data MySQL

Tipe integer

SMALLINT

-32.768 hingga +32.767

SMALLINT

INTEGER

-2.147.483.648 hingga +2.147.483.647

INT

BIGINT

-9.223.372.036.854.775.808 hingga +9.223.372.036.854.775.807

BIGINT

Tipe desimal

DECIMAL(precision-integer, scale-integer)

p <= 38

DECIMAL

FLOAT(integer)

Rentang nilai adalah 1 hingga 53. Nilai dari 1 hingga 24 menunjukkan presisi tunggal. Nilai dari 25 hingga 53 menunjukkan presisi ganda.

FLOAT

DECFLOAT(precision-integer)

Tidak ada

DECIMAL(65,10)

Tipe tanggal

DATE

0001-01-01 hingga 9999-12-31

DATE

TIME

00:00:00 hingga 24:00:00

TIME

TIMESTAMP(integer)

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

DATETIME

Tipe string

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

Tipe lainnya

XML

2.147.483.647

VARCHAR | LONGTEXT

Migrasi data dari Db2 for i

Ketika instans sumber adalah Db2 for i dan instans tujuan adalah database heterogen, seperti MySQL, pemetaan tipe datanya adalah sebagai berikut:

Catatan

Jika data yang akan dimigrasikan dari instans sumber berada di luar rentang yang didukung oleh DTS, presisi data yang dimigrasikan di instans tujuan akan berkurang.

Kategori

Tipe data Db2 for i

Rentang nilai

Tipe data MySQL

Tipe integer

SMALLINT

-32.768 hingga +32.767

SMALLINT

INTEGER

-2.147.483.648 hingga +2.147.483.647

INT

BIGINT

-9.223.372.036.854.775.808 hingga +9.223.372.036.854.775.807

BIGINT

Tipe desimal

DECIMAL(precision-integer, scale-integer)

p <= 63

DECIMAL

NUMERIC

Tidak ada

DECIMAL

FLOAT(integer)

Tidak ada

FLOAT

DECFLOAT(precision-integer)

Tidak ada

DECIMAL(65,10)

Tipe tanggal

DATE

0001-01-01 hingga 9999-12-31

DATE

TIME

00:00:00 hingga 24:00:00

TIME

TIMESTAMP(integer)

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

DATETIME

Tipe string

CHAR(integer)

32.765

CHAR | VARCHAR

VARCHAR(integer)

32.739

VARCHAR

CHAR(integer) FOR BIT DATA

Tidak ada

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

Tipe lainnya

DATALINK

Tidak ada

VARCHAR | LONGTEXT

ROWID

40

VARCHAR | LONGTEXT

XML

2.147.483.647

VARCHAR | LONGTEXT

Migrasi data dari Teradata

Ketika instans sumber adalah Teradata dan instans tujuan adalah database heterogen, seperti AnalyticDB for PostgreSQL, pemetaan tipe datanya adalah sebagai berikut:

Tipe data Teradata

Tipe data 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)

Tipe data Teradata

Tipe data 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