Skip to main content

Mapping

The following tables explain how MySQL/MariaDB source datatypes are mapped to each target database. Wirekite extracts data from MySQL, converts it to an internal type representation, then maps to the appropriate target type.

Numeric Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
TINYINTsmallintSMALLINTNUMBER(38)INTEGERtinyintINT64INT64TINYINTTINYINT
TINYINT UNSIGNEDsmallintSMALLINTNUMBER(38)INTEGERnumberINT64INT64TINYINT UNSIGNEDSMALLINT
SMALLINTsmallintSMALLINTNUMBER(38)INTEGERnumberINT64INT64SMALLINTSMALLINT
SMALLINT UNSIGNEDintegerINTNUMBER(38)INTEGERnumberINT64INT64SMALLINT UNSIGNEDINT
MEDIUMINTintegerINTNUMBER(38)INTEGERnumberINT64INT64MEDIUMINTINT
MEDIUMINT UNSIGNEDintegerINTNUMBER(38)INTEGERnumberINT64INT64MEDIUMINT UNSIGNEDINT
INTintegerINTNUMBER(38)INTEGERintINT64INT64INTINT
INT UNSIGNEDbigintBIGINTNUMBER(38)BIGINTnumberINT64INT64INT UNSIGNEDDECIMAL
BIGINTbigintBIGINTNUMBER(38)BIGINTbigintINT64INT64BIGINTBIGINT
BIGINT UNSIGNEDnumeric(21)NUMERIC(21)NUMBER(38)NUMERICnumberNUMERICNUMERICBIGINT UNSIGNEDDECIMAL
DECIMALdecimalDECIMALNUMBERNUMERICnumberNUMERICNUMERICDECIMALDECIMAL
DECIMAL UNSIGNEDnumericNUMERIC(38)NUMBERNUMERICnumberNUMERICNUMERICDECIMAL UNSIGNEDDECIMAL
FLOATrealREALBINARY_FLOATDOUBLEfloatFLOAT32FLOAT64FLOATFLOAT
FLOAT UNSIGNEDdouble precisionREALBINARY_FLOATDOUBLEfloatFLOAT64FLOAT64FLOAT UNSIGNEDDOUBLE
DOUBLEdouble precisionFLOATBINARY_DOUBLEDOUBLEfloatFLOAT64FLOAT64DOUBLEDOUBLE
DOUBLE UNSIGNEDN/AN/ABINARY_DOUBLEN/AN/ANUMERICNUMERICDOUBLE UNSIGNEDDECIMAL
BITbit varyingVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGBITSTRING
BOOL / BOOLEANbooleanBITCHAR(1)BOOLEANbooleanBOOLBOOLTINYINT(1)BOOLEAN
YEARsmallintSMALLINTNUMBER(38)INTEGERintINT64INT64YEARINT

Date and Time Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
DATEdateDATEDATEDATEdateDATEDATEDATEDATE
TIMEtime without time zoneTIMEVARCHAR2(64)TEXTtimeSTRINGTIMETIME(6)STRING
DATETIMEtimestamp without time zoneDATETIME2TIMESTAMPTIMESTAMPtimestamp_ntzTIMESTAMPDATETIMEDATETIME(6)TIMESTAMP
TIMESTAMPvarchar(64)VARCHAR(32)TIMESTAMP WITH LOCAL TIME ZONETIMESTAMPtimestamp_ltzSTRINGSTRINGDATETIME(6)STRING

Character Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
CHARcharacterCHARCHARTEXTvarcharSTRINGSTRINGCHARSTRING
VARCHARcharacter varyingVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
TINYTEXTtextVARCHAR(MAX)VARCHAR2(255)TEXTvarcharSTRINGSTRINGTINYTEXTSTRING
TEXTtextVARCHAR(MAX)CLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING
MEDIUMTEXTtextVARCHAR(MAX)CLOBTEXTvarcharSTRINGSTRINGMEDIUMTEXTSTRING
LONGTEXTtextVARCHAR(MAX)CLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING
JSONjsonbVARCHAR(MAX)CLOBTEXTvarcharJSONJSONJSONSTRING

Binary Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
BINARYbyteaBINARYRAWBYTEAbinaryBYTESBYTESBINARYBINARY
VARBINARYbyteaVARBINARYRAWBYTEAbinaryBYTESBYTESVARBINARYBINARY
TINYBLOBbyteaVARBINARYRAWBYTEAbinaryBYTESBYTESTINYBLOBBINARY
BLOBbyteaVARBINARY(MAX)BLOBBYTEAbinaryBYTESBYTESBLOBBINARY
MEDIUMBLOBbyteaVARBINARY(MAX)BLOBBYTEAbinaryBYTESBYTESMEDIUMBLOBBINARY
LONGBLOBbyteaVARBINARY(MAX)BLOBBYTEAbinaryBYTESBYTESLONGBLOBBINARY

Set Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
ENUMvarchar(64)VARCHAR(64)VARCHAR2TEXTvarchar(64)STRINGSTRINGENUMSTRING
SETvarchar(64)VARCHAR(64)VARCHAR2TEXTvarchar(64)STRINGSTRINGSETSTRING

Spatial Types

MySQLPostgreSQLSQL ServerOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
POINTpointVARCHAR(256)VARCHAR2(256)TEXTvarchar(256)STRINGSTRINGVARCHAR(256)STRING
LINESTRINGtextVARCHAR(256)VARCHAR2(256)TEXTvarchar(256)STRINGSTRINGVARCHAR(256)STRING
POLYGONpolygonVARCHAR(1024)VARCHAR2(1024)TEXTvarchar(1024)STRINGSTRINGVARCHAR(1024)STRING
GEOMETRYtextVARCHAR(1024)VARCHAR2(1024)TEXTvarcharSTRINGSTRINGVARCHAR(1024)STRING
MULTIPOINTtextVARCHAR(1024)VARCHAR2(1024)TEXTvarcharSTRINGSTRINGVARCHAR(1024)STRING