Skip to main content

Mapping

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

Numeric Types

SQL ServerPostgreSQLMySQLOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
TINYINTsmallintTINYINT UNSIGNEDNUMBER(38)INTEGERnumberINT64INT64TINYINT UNSIGNEDSMALLINT
SMALLINTsmallintSMALLINTNUMBER(38)INTEGERnumberINT64INT64SMALLINTSMALLINT
INTintegerINTNUMBER(38)INTEGERintINT64INT64INTINT
BIGINTbigintBIGINTNUMBER(38)BIGINTbigintINT64INT64BIGINTBIGINT
DECIMALdecimalDECIMALNUMBERNUMERICnumberNUMERICNUMERICDECIMALDECIMAL
NUMERICnumericNUMERICNUMBERNUMERICnumberNUMERICNUMERICNUMERICDECIMAL
MONEYnumericNUMERICNUMBERNUMERICnumberNUMERICNUMERICNUMERICDECIMAL
SMALLMONEYnumericNUMERICNUMBERNUMERICnumberNUMERICNUMERICNUMERICDECIMAL
FLOATreal or double precisionFLOAT or DOUBLEBINARY_FLOAT or BINARY_DOUBLEDOUBLEfloatFLOAT32 or FLOAT64FLOAT64FLOAT or DOUBLEFLOAT or DOUBLE
REALrealFLOATBINARY_FLOATDOUBLEfloatFLOAT32FLOAT64FLOATFLOAT
BITbooleanTINYINT(1)CHAR(1)BOOLEANbooleanBOOLBOOLTINYINT(1)BOOLEAN

Date and Time Types

SQL ServerPostgreSQLMySQLOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
DATEdateDATEDATEDATEdateDATEDATEDATEDATE
TIMEtime without time zoneTIME(6)VARCHAR2(64)TEXTtimeSTRINGTIMETIME(6)STRING
DATETIMEtimestamp without time zoneDATETIME(6)TIMESTAMPTIMESTAMPtimestamp_ntzTIMESTAMPDATETIMEDATETIME(6)TIMESTAMP
DATETIME2timestamp without time zoneDATETIME(6)TIMESTAMPTIMESTAMPtimestamp_ntzTIMESTAMPDATETIMEDATETIME(6)TIMESTAMP
SMALLDATETIMEtimestamp without time zoneDATETIME(6)TIMESTAMPTIMESTAMPtimestamp_ntzTIMESTAMPDATETIMEDATETIME(6)TIMESTAMP
DATETIMEOFFSETvarchar(64)DATETIME(6)TIMESTAMP WITH LOCAL TIME ZONETIMESTAMPtimestamp_ltzSTRINGSTRINGDATETIME(6)STRING

Character Types

SQL ServerPostgreSQLMySQLOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
CHARcharacterCHARCHARTEXTvarcharSTRINGSTRINGCHARSTRING
NCHARcharacterCHARNCHARTEXTvarcharSTRINGSTRINGCHARSTRING
VARCHARcharacter varyingVARCHARVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
NVARCHARcharacter varyingVARCHARNVARCHAR2TEXTvarcharSTRINGSTRINGVARCHARSTRING
TEXTtextLONGTEXTCLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING
NTEXTtextLONGTEXTNCLOBTEXTvarcharSTRINGSTRINGLONGTEXTSTRING

Binary Types

SQL ServerPostgreSQLMySQLOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
BINARYbyteaBINARYRAWBYTEAbinaryBYTESBYTESBINARYBINARY
VARBINARYbyteaVARBINARYRAWBYTEAbinaryBYTESBYTESVARBINARYBINARY
IMAGEbyteaVARBINARYRAWBYTEAbinaryBYTESBYTESVARBINARYBINARY

Other Types

SQL ServerPostgreSQLMySQLOracleFireboltSnowflakeSpannerBigQuerySingleStoreDatabricks
UNIQUEIDENTIFIERuuidVARCHAR(64)VARCHAR2(128)TEXTvarchar(64)STRINGSTRINGVARCHAR(64)STRING
XMLxmlTEXTCLOBTEXTvarcharSTRINGSTRINGTEXTSTRING
JSONjsonbJSONCLOBTEXTvarcharJSONJSONJSONSTRING
GEOGRAPHYvarchar(4000)VARCHAR(4000)VARCHAR2(4000)TEXTvarchar(4000)STRINGSTRINGVARCHAR(4000)STRING
GEOMETRYvarchar(4000)VARCHAR(4000)VARCHAR2(4000)TEXTvarchar(4000)STRINGSTRINGVARCHAR(4000)STRING
HIERARCHYIDvarchar(4000)VARCHAR(4000)VARCHAR2(4000)TEXTvarchar(4000)STRINGSTRINGVARCHAR(4000)STRING
SQL_VARIANTvarchar(4000)VARCHAR(4000)VARCHAR2(4000)TEXTvarchar(4000)STRINGSTRINGVARCHAR(4000)STRING