Summary of data types

Snowflake supports most SQL data types:

Category

Type

Notes

Numeric data types

NUMBER

Default precision and scale are (38,0).

DECIMAL, NUMERIC

Synonymous with NUMBER.

INT, INTEGER, BIGINT, SMALLINT, TINYINT, BYTEINT

Synonymous with NUMBER except precision and scale cannot be specified.

FLOAT, FLOAT4, FLOAT8

[1]

DOUBLE, DOUBLE PRECISION, REAL

Synonymous with FLOAT. [1]

String & binary data types

VARCHAR

Default (and maximum) is 16,777,216 bytes.

CHAR, CHARACTER

Synonymous with VARCHAR except default length is VARCHAR(1).

STRING

Synonymous with VARCHAR.

TEXT

Synonymous with VARCHAR.

BINARY

VARBINARY

Synonymous with BINARY.

Logical data types

BOOLEAN

Currently only supported for accounts provisioned after January 25, 2016.

Date & time data types

DATE

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, is not stored.

TIMESTAMP_NTZ

TIMESTAMP with no time zone; time zone, if provided, is not stored.

TIMESTAMP_TZ

TIMESTAMP with time zone.

Semi-structured data types

VARIANT

OBJECT

ARRAY

Geospatial data types

GEOGRAPHY

GEOMETRY

Vector data types

VECTOR

[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.