Skip to main content
Feedback

Snowflake columns mapping

Type mapping

The system matches Snowflake data types to Data Integration data types while extracting your data. If a data type is not supported, the platform maps as a String type.

The following table shows the mapping of Snowflake data types to Data Integration-compatible types:

Data Integration TypeSnowflake Type
STRINGSTRING
INTEGERNUMBER
FLOATFLOAT
BOOLEANBOOLEAN
TIMESTAMPTIMESTAMP
TIMESTAMPDATE
RECORDVARIANT
VARIANTVARIANT
OBJECTVARIANT

Scenarios of data type conflicts

If you update the datatype of an existing source column and a mismatch occurs, the platform applies defined rules to determine the datatype of the corresponding target column, resolving the conflict. These rules select the most comprehensive data type to maintain data integrity and prevent information loss.

Examples of data type conflicts

The table below outlines scenarios of data type conflicts and the resolution rules. The Inferred Type column represents the chosen data type in the target table when there is a conflict.

Conflicting TypesInferred TypeExample Scenario
TIMESTAMP vs. DATETIMESTAMPIf a column in the source initially uses the TIMESTAMP type, but changes to DATE, the target converts it to TIMESTAMP.
SMALLINT vs. BOOLEANSMALLINTA conflict between SMALLINT and BOOLEAN types in the source column leads to the target column adopting the SMALLINT type.
INTEGER vs. (SMALLINT / BOOLEAN)INTEGERIf an INTEGER is SMALLINT or BOOLEAN in the source, promoted to INTEGER in the target.
BIGINT vs. (INTEGER / SMALLINT / BOOLEAN)BIGINTIf a column of BIGINT type, but changes to SMALLINT, BOOLEAN, or INTEGER in the source, it elevates to BIGINT in the target.
DECIMAL vs. (INTEGER / BIGINT / SMALLINT / BOOLEAN)DECIMALIf a source column is INTEGER or DECIMAL, the target transforms it into DECIMAL..
DOUBLE PRECISION vs. (INTEGER / BIGINT / SMALLINT / BOOLEAN)DOUBLE PRECISIONIf there is a conflict between DOUBLE PRECISION and SMALLINT in the source column, the target column adopt DOUBLE PRECISION.
REAL vs. (DOUBLE PRECISION / DECIMAL / INTEGER / BIGINT / SMALLINT / BOOLEAN)REALIf there is a change in the a column of DOUBLE PRECISION type to REAL type in the source, it remain as REAL in the target.
FLOAT vs. (INTEGER / BIGINT / SMALLINT / DECIMAL / REAL / DOUBLE PRECISION / BOOLEAN)FLOATA source column initially of FLOAT type changed to INTEGER remain as FLOAT in the target.
STRING vs. ALL DATATYPESSTRINGIf a source column is initially set as STRING type and later changed to TIME or INTEGER, treated as STRING type in the target.
VARIANT vs. ALL DATATYPESVARIANTIf a column in the source is VARIANT type and updated to INTEGER type, the target column retains the VARIANT type.
note

VARCHAR and OBJECT have higher priority and overrides other data types in conflicts.

On this Page