Skip to main content

Striim Platform 5.0 documentation

Target data type support & mapping for Snowflake sources

If a table contains a column of a geospatial type (GEOGRAPHY or GEOMETRY), Snowflake Reader cannot capture UPDATE or DELETE operations. This is a limitation of Snowflake's Change Streams (see Guides > Data Loading > Streams > Introduction to Streams > Types of Streams and Compilation errors when select from a Stream : Invalid argument types for function 'EQUAL_NULL': (GEOMETRY, GEOMETRY).

If your screen is not wide enough to display the whole table, click in a cell and drag left to view the right-hand columns.

Snowflake Data Type

Azure Synapse

BigQuery

Databricks

Db2 for z/OS

MariaDB

Microsoft Fabric

MySQL

Oracle

PostgreSQL

Snowflake

Spanner

SQL Server

Yellowbrick

ARRAY

varchar(8000)

string

string

varchar(250)

text

varchar(8000)

text

VARCHAR2(200)

character varying

VARCHAR

STRING(MAX)

varchar(8000)

character varying

BINARY

binary

bytes(p)

binary

blob

Not supported

varbinary

Not supported

BLOB

bytea

BINARY

BYTES(p)

binary

character varying(40000)

BINARY(p)

binary(p), if (p) <= 8000

binary, if (p) > 8000*

bytes, if (p) > 9223372036854775807*

bytes(p), if (p) <= 9223372036854775807

binary

binary(255), if (p) <= 127

blob, if (p) > 127*

binary(p), if (p) <= 255

varbinary, if (p) > 8000*

varbinary(p), if (p) <= 8000

binary(p), if (p) <= 255

BLOB

bytea, if (p) <= 2147483647

BINARY, if (p) <= 8388608

BINARY, if (p) > 8388608*

BYTES(MAX), if (p) > 10485760*

BYTES(p), if (p) <= 10485760

binary(p), if (p) <= 8000

binary, if (p) > 8000*

character varying(40000)

BOOLEAN

BIT

boolean

boolean

Not supported

bool

BIT

bool

Not supported

boolean

BOOLEAN

BOOL

BIT

boolean

DATE

date

date

date

date

date

date

date

date

date

date

DATE

date

date

DOUBLE

float(53)

float64

double

double

double

float(53)

double

double precision

double precision

double precision

FLOAT64

float(53)

double precision

GEOGRAPHY

varchar(8000)

string

string

varchar(250)

text

varchar(8000)

text

VARCHAR2(200)

character varying

VARCHAR

STRING(MAX)

varchar(8000)

character varying

GEOMETRY

varchar(8000)

string

string

varchar(250)

text

varchar(8000)

text

VARCHAR2(200)

character varying

VARCHAR

STRING(MAX)

varchar(8000)

character varying

NUMBER

numeric(p,s)

bignumeric

decimal(p,s)

numeric

decimal(p,s)

decimal(p,s)

decimal(p,s)

number(p,s)

numeric(p,s)

numeric(p,s)

NUMERIC

numeric(p,s)

decimal(p,s)

NUMBER(p,0)

numeric(p,s), if (p) <= 38, if (s) <= 38

numeric, if (p) <= 29, if (s) <= 9

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric(p,s), if (p) <= 31, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

NUMBER(p,s)

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

string, if (s) > 38*

string, if (p,s) > 39*

numeric, if (p) <= 29, if (s) <= 9

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

string, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 37

string, if (s) > 37*

numeric(p,s), if (p) <= 31, if (s) <= 30

numeric, if (p,s) > 31, if (s) > 30*

TEXT, if (p,s) > 65, if (s) > 30*

decimal(p,s), if (p) <= 65, if (s) <= 30

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 38

TEXT, if (p,s) > 65, if (s) > 30*

decimal(p,s), if (p) <= 65, if (s) <= 30

number, if (s) > 127*

number, if (p,s) > 38*

number(p,s), if (p) <= 38, if (s) <= 127

double precision, if (s) > 1000

double precision, if (p,s) > 1000

numeric(p,s), if (p) <= 1000, if (s) <= 1000

VARCHAR, if (s) > 37*

numeric(p,s), if (p) <= 38, if (s) <= 37

VARCHAR, if (p,s) > 38*

STRING(MAX), if (p,s) > 308, if (s) > 15*

NUMERIC, if (p) <= 38, if (s) <= 9

varchar(8000), if (s) > 38*

varchar(8000), if (p,s) > 38*

numeric(p,s), if (p) <= 38, if (s) <= 38

character varying, if (s) > 38*

character varying, if (p,s) > 38*

decimal(p,s), if (p) <= 38, if (s) <= 38

OBJECT

varchar(8000)

string

string

clob

json

varchar(8000)

json

clob

json

VARIANT

STRING(MAX)

varchar(max)

character varying

TIME

time

time

string

time

time

time(6)

time

VARCHAR2(150)

time

time

STRING(150)

time

time

TIME(p)

time

time

string

time

time

time(6)

time

VARCHAR2(150)

time

time

STRING(150)

time

time

TIMESTAMPLTZ

datetime2

timestamp

timestamp

timestamp

timestamp

datetime2

timestamp

timestamp with local time zone

timestamp without time zone

timestamp

TIMESTAMP

datetime2

timestamp

TIMESTAMPLTZ(p)

datetime2

timestamp

timestamp

timestamp

timestamp

datetime2

timestamp

timestamp with local time zone

timestamp without time zone

timestamp

TIMESTAMP

datetime2

timestamp

TIMESTAMPNTZ

datetime2

timestamp

timestamp

timestamp

datetime

datetime2(6)

datetime

timestamp

timestamp without time zone

timestamp

TIMESTAMP

datetime2

timestamp

TIMESTAMPNTZ(p)

datetime2

timestamp

timestamp

timestamp

datetime

datetime2(6)

datetime

timestamp

timestamp without time zone

timestamp

TIMESTAMP

datetime2

timestamp

TIMESTAMPTZ

datetimeoffset

timestamp

timestamp

timestamp with time zone

timestamp

datetime2(6)

timestamp

timestamp with time zone

timestamp with time zone

timestamp with time zone

TIMESTAMP

datetimeoffset

timestamptz

TIMESTAMPTZ(p)

datetimeoffset

timestamp

timestamp

timestamp with time zone

timestamp

datetime2(6)

timestamp

timestamp with time zone

timestamp with time zone

timestamp with time zone

TIMESTAMP

datetimeoffset

timestamptz

VARCHAR

varchar(p)

varchar(8000)

string

string

clob(p)

varchar(p)

longtext

varchar(p)

varchar(p)

varchar(8000)

longtext

varchar(p)

clob

VARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

STRING(MAX)

varchar(p)

varchar(max)

character varying(p)

VARCHAR(p)

varchar(p), if (p) <= 8000

varchar(8000), if (p) > 8000*

string

string

varchar(p), if (p) <= 4045

clob(p), if 4045 <= (p) <= 2147483647

longtext, if (p) > 2147483647*

longtext, if 65535 <= (p) <= 2147483647

varchar(p), if (p) <= 65535

varchar(p), if (p) <= 8000

varchar(8000), if (p) > 8000*

longtext, if (p) > 2147483647*

longtext, if 65535 <= (p) <= 2147483647

varchar(p), if (p) <= 65535

clob, if (p) > 4000*

VARCHAR2(p), if (p) <= 4000

character varying(p), if (p) <= 10485760

character varying, if (p) > 10485760*

VARCHAR, if (p) > 16777216*

VARCHAR(p), if (p) <= 16777216

STRING(MAX), if (p) > 2621440

STRING(p), if (p) <= 2621440

varchar(max), if (p) > 8000*

varchar(p), if (p) <= 8000

character varying, if (p) > 64000*

character varying(p), if (p) <= 64000

VARIANT

varchar(8000)

string

string

clob

LONGTEXT

varchar(8000)

LONGTEXT

clob

text

VARCHAR

STRING(MAX)

varchar(max)

character varying

*When using the schema conversion utility, these mappings appear in converted_tables_with_striim_intelligence.sql.