Skip to main content

Mapping

The following tables explain how Db2 source datatypes are mapped to each target database. Wirekite extracts data from Db2, converts it to an internal type representation, then maps to the appropriate target type.
Wirekite reads column metadata from the SYSCAT.COLUMNS catalog view. Unquoted Db2 identifiers are folded to uppercase in the catalog; Wirekite lowercases table and column names on output.
CDC (Replicate) type coverage is narrower than the initial data load. The types below marked † extract correctly during a one-time Data load but are not decodable from the Db2 recovery log during Replicate (CDC). A tracked table with one of these columns will lose that column — and every column after it — in the change stream. The affected types are DECFLOAT, GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC, DBCLOB, and LONG VARCHAR. Avoid them on tables you replicate, or keep them last in column order.

Numeric Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
SMALLINTsmallintSMALLINTSMALLINTNUMBER(38)INTEGERnumberINT64INT64SMALLINTSMALLINT
INTEGERintegerINTINTNUMBER(38)INTEGERintINT64INT64INTINT
BIGINTbigintBIGINTBIGINTNUMBER(38)BIGINTbigintINT64INT64BIGINTBIGINT
DECIMALnumericNUMERICNUMERICNUMBERNUMERICnumberNUMERICNUMERICNUMERICDECIMAL
NUMERICnumericNUMERICNUMERICNUMBERNUMERICnumberNUMERICNUMERICNUMERICDECIMAL
REALrealFLOATREALBINARY_FLOATDOUBLEfloatFLOAT32FLOAT64FLOATFLOAT
DOUBLEdouble precisionDOUBLEFLOATBINARY_DOUBLEDOUBLEfloatFLOAT64FLOAT64DOUBLEDOUBLE
DECFLOATdouble precisionDOUBLEFLOATBINARY_DOUBLEDOUBLEfloatFLOAT64FLOAT64DOUBLEDOUBLE
DECIMAL/NUMERIC carry their precision and scale through to the target. Db2’s maximum DECIMAL precision is 31; a source column with higher precision is capped at 31 when Db2 is the target. DECFLOAT is decimal floating-point with no fixed scale, so it maps to a 64-bit float rather than a fixed NUMERIC(p,s).

Boolean Type

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
BOOLEANbooleanTINYINT(1)BITCHAR(1)BOOLEANbooleanBOOLBOOLTINYINT(1)BOOLEAN

Character Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
CHAR / CHARACTERcharacterCHARCHARCHARTEXTvarcharSTRINGSTRINGCHARSTRING
VARCHARcharacter varyingVARCHARVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
LONG VARCHARcharacter varyingVARCHARVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
CLOBtextLONGTEXTVARCHAR(MAX)CLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING

Graphic (Double-Byte) Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
GRAPHICcharacterCHARCHARCHARTEXTvarcharSTRINGSTRINGCHARSTRING
VARGRAPHICcharacter varyingVARCHARVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
LONG VARGRAPHICcharacter varyingVARCHARVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
DBCLOBtextLONGTEXTVARCHAR(MAX)CLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING
Db2 graphic (DBCS) types store Unicode text and fold to the same internal representation as their character counterparts (GRAPHICCHAR, VARGRAPHICVARCHAR, DBCLOBCLOB). On a UTF-8 database the values are preserved through the initial load. They are not supported by CDC — see the warning above.

Binary Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
BINARYbyteaBINARYBINARYRAWBYTEAbinaryBYTESBYTESBINARYBINARY
VARBINARYbyteaVARBINARYVARBINARYRAWBYTEAbinaryBYTESBYTESVARBINARYBINARY
BLOBbyteaBLOBVARBINARY(MAX)BLOBBYTEAbinaryBYTESBYTESBLOBBINARY

Date and Time Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
DATEdateDATEDATEDATEDATEdateDATEDATEDATEDATE
TIMEtime without time zoneTIME(6)TIMEVARCHAR2(64)TEXTtimeSTRINGTIMETIME(6)STRING
TIMESTAMPtimestamp without time zoneDATETIME(6)DATETIME2TIMESTAMPTIMESTAMPtimestamp_ntzTIMESTAMPDATETIMEDATETIME(6)TIMESTAMP_NTZ
Db2 TIME has no sub-second precision. TIMESTAMP supports fractional seconds up to 12 digits; Wirekite preserves microsecond precision (.FF6) on the wire.

Other Types

Db2PostgreSQLMySQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
XMLxmlTEXTXMLCLOBTEXTvarcharSTRINGSTRINGTEXTSTRING
(Any other type)character varyingVARCHARVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
Any Db2 type not listed above (for example ROWID, TIMESTAMP WITH TIME ZONE, or CHAR FOR BIT DATA) falls back to a wide character type on the initial load, with a warning logged. These fallback types are not supported by CDC.