Teradata to Snowflake data type mappings

The following table shows how Snowflake AIM for Virtualization maps Teradata data types to Snowflake types. Mappings are shown for both Snowflake Native tables and Iceberg tables, with the Iceberg columns split into V2 and V3.

Note

AIM-Virtualization uses a single Iceberg code path internally and does not distinguish between Iceberg V2 and V3. Any differences between the Iceberg V2 and V3 columns reflect the Iceberg specification’s own type support (for example, VARIANT requires V3), not separate AIM-Virtualization code paths.

Teradata data typeType codeSnowflake NativeIceberg V2Iceberg V3
BIGINTI8NUMBER(38,0)NUMBER(38,0)NUMBER(38,0)
BLOBBOBINARYBINARYBINARY
BYTEBFBINARYBINARYBINARY
BYTEINTI1NUMBER(38,0)NUMBER(38,0)NUMBER(38,0)
CHARCFVARCHAR(c): matches Teradata lengthVARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
CLOBCOVARCHAR(134217728): max (LOB)VARCHAR(134217728): max (LOB)VARCHAR(134217728): max (LOB)
DATEDADATEDATEDATE
DECIMAL / NUMERICDNUMBER(p, s): matches Teradata precision/scaleNUMBER(p, s): matches Teradata precision/scaleNUMBER(p, s): matches Teradata precision/scale
FLOATFFLOATDOUBLEDOUBLE
REALFFLOATDOUBLEDOUBLE
DOUBLEFFLOATDOUBLEDOUBLE
INTEGERINUMBER(38,0)NUMBER(38,0)NUMBER(38,0)
INTERVAL DAY..SECONDDY DH DM DS …NUMBER(19,0): total microseconds (6 fractional digits)NUMBER(19,0): total microseconds (6 fractional digits)NUMBER(19,0): total microseconds (6 fractional digits)
INTERVAL YEAR..MONTHMO / YM / YRNUMBER(19,0): total monthsNUMBER(19,0): total monthsNUMBER(19,0): total months
JSONJNVARIANTNOT SUPPORTEDVARIANT
NUMBER(n,m)NNUMBER(p, s): matches Teradata precision/scaleNUMBER(p, s)NUMBER(p, s)
NUMBER(*,m)NFLOATFLOATFLOAT
NUMBER(*)NFLOATFLOATFLOAT
PERIOD(DATE)PD PT PZ PS PMVARCHAR(28)VARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
PERIOD(TIME)PD PT PZ PS PMVARCHAR(38)VARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
PERIOD(TIMESTAMP)PD PT PZ PS PMVARCHAR(60)VARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
PERIOD(TIMESTAMP WITH TZ)PD PT PZ PS PMVARCHAR(72)VARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
SMALLINTI2NUMBER(38,0)NUMBER(38,0)NUMBER(38,0)
TIMEATTIMETIMETIME
TIME WITH TIME ZONETZTIMESTAMP_TZTIMESTAMP_LTZTIMESTAMP_LTZ
TIMESTAMPTSTIMESTAMP_NTZTIMESTAMP_NTZTIMESTAMP_NTZ
TIMESTAMP WITH TIME ZONESZTIMESTAMP_TZTIMESTAMP_LTZTIMESTAMP_LTZ
UDTUTGeneric UDT unsupported; ST_GEOMETRY → GEOGRAPHY (or GEOMETRY via hint)Generic UDT unsupported; ST_GEOMETRY → GEOGRAPHY (or GEOMETRY via hint)Generic UDT unsupported; ST_GEOMETRY → GEOGRAPHY (or GEOMETRY via hint)
VARBYTEBVBINARYBINARYBINARY
VARCHARCVVARCHAR(c): matches Teradata lengthVARCHAR(134217728): max, Teradata length not preservedVARCHAR(134217728): max, Teradata length not preserved
XMLXMVARIANTNOT SUPPORTEDVARIANT