Help Center/ DataArts Studio/ User Guide/ DataArts Migration (Real-Time Jobs)/ Field Type Mapping/ Mapping Between Oracle and StarRocks Field Types
Updated on 2025-09-09 GMT+08:00

Mapping Between Oracle and StarRocks Field Types

DataArts Migration converts the source field type to the destination field type based on the default rule, and creates tables and synchronizes data in real time.

Field Type Mapping Rules

The following table lists the field types supported by a job that migrates data from Oracle to StarRocks.

Table 1 Field types supported by a job that migrates data from Oracle to StarRocks

Type

Oracle Data Type

StarRocks Data Type

Description

String

CHAR(M)

CHAR(M)

Fixed-length string, filled with spaces

NCHAR(M)

CHAR(M)

Fixed-length string, filled with spaces

VARCHAR2(M)

VARCHAR(M)

Variable-length string

NVARCHAR2(M)

VARCHAR(M)

Variable-length string

ROWID

STRING

Variable-length string

UROWID

STRING

Variable-length string

Value

NUMBER(M,D)

DECIMAL(M,D)/STRING

Accurate number with precision

You can specify the StarRocks version by setting the targetVersion parameter in the advanced settings of the destination configuration.

If targetVersion is greater than or equal to 1.18.0, the maximum value of M is 38.

If targetVersion is less than 1.18.0, the maximum value of M is 27.

If the value of M exceeds the maximum value, the STRING type is used.

DECIMAL(M,D)

DECIMAL(M,D)/STRING

Equivalent to NUMBER

NUMERIC(M,D)

DECIMAL(M,D)/STRING

Equivalent to NUMBER

FLOAT

DOUBLE/STRING

If the value of M is greater than 53, the precision of Oracle FLOAT exceeds that of Doris DOUBLE. The STRING type is used.

If the value of M is less than or equal to 53, the DOUBLE type is used.

BINARY_FLOAT

FLOAT

Single-precision floating point number (4 bytes)

BINARY_DOUBLE

DOUBLE

Double-precision floating point number (8 bytes)

Date and time

DATE

DATETIME

Date and time

TIMESTAMP(M)

DATETIME/STRING

Date and time

If the value of M is less than or equal to 6, the DATETIME type is used.

If the value of M is greater than 6, the STRING type is used.

TIMESTAMP(M) WITH TIME ZONE

DATETIME/STRING

Date and time

If the value of M is less than or equal to 6, the DATETIME type is used.

If the value of M is greater than 6, the TEXT type is used.

TIMESTAMP(M) WITH LOCAL TIME ZONE

DATETIME/STRING

Date and time

If the value of M is less than or equal to 6, the DATETIME type is used.

If the value of M is greater than 6, the TEXT type is used.

Binary

BLOB

VARCHAR(M)

You can specify the StarRocks version by setting the targetVersion parameter in the advanced settings of the destination configuration.

If the value of targetVersion is greater than or equal to 3.0.0, the data type is converted to VARBINARY, and the value of M is 1048576.

If the value of targetVersion is less than 3.0.0 and greater than or equal to 2.1, the data type is converted to VARCHAR, and the value of M is 1048576.

If the value of targetVersion is less than 2.1, the data type is converted to VARCHAR, and the value of M is 65533.

CLOB

VARCHAR(M)

Same as BLOB

NCLOB

VARCHAR(M)

Same as BLOB

RAW

VARCHAR(M)

Same as BLOB

LONG

VARCHAR(M)

Same as BLOB

LONG RAW

VARCHAR(M)

Same as BLOB