Summary of data types
Snowflake supports most SQL data types. The following table provides a
summary of the supported data types.
Category Type Notes
Numeric data NUMBER Default precision and scale are
types (38,0).
DECIMAL, NUMERIC Synonymous with NUMBER.
INT, INTEGER, BIGINT, Synonymous with NUMBER, except
SMALLINT, TINYINT, precision and scale can’t be
BYTEINT specified.
[1]
FLOAT, FLOAT4, FLOAT8
[1]
DOUBLE, DOUBLE Synonymous with FLOAT.
PRECISION, REAL
String & binary VARCHAR Default (and maximum) length is
data types 16,777,216 bytes.
CHAR, CHARACTER Synonymous with VARCHAR, except
the default length is VARCHAR(1).
STRING, TEXT Synonymous with VARCHAR.
BINARY
VARBINARY Synonymous with BINARY.
Logical data BOOLEAN Currently only supported for
types accounts provisioned after January
25, 2016.
Date & time DATE
data types
DATETIME Alias for TIMESTAMP_NTZ
TIME
TIMESTAMP Alias for one of the TIMESTAMP
variations (TIMESTAMP_NTZ by
default).
TIMESTAMP_LTZ TIMESTAMP with local time zone;
time zone, if provided, isn’t stored.
TIMESTAMP_NTZ TIMESTAMP with no time zone; time
zone, if provided, isn’t stored.
TIMESTAMP_TZ TIMESTAMP with time zone.
Category Type Notes
Semi- VARIANT
structured data
types OBJECT
ARRAY
Structured data ARRAY Currently only supported for Iceberg
types tables.
OBJECT Currently only supported for Iceberg
tables.
MAP Currently only supported for Iceberg
tables.
Geospatial data GEOGRAPHY
types
GEOMETRY
Vector data VECTOR
types
[1] A known issue in Snowflake displays FLOAT, FLOAT4, FLOAT8, REAL, DOUBLE, and DOUBLE PRECISION as FLOAT, even though they are
stored as DOUBLE.
Note
You can also load unstructured data into Snowflake. For more information,
see Introduction to unstructured data.