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

Synonymous with NUMBER.

NUMERIC

Synonymous with NUMBER.

INT, INTEGER, BIGINT, SMALLINT

Synonymous with NUMBER except precision and scale cannot be specified.

FLOAT, FLOAT4, FLOAT8 [1]

DOUBLE [1]

Synonymous with FLOAT.

DOUBLE PRECISION [1]

Synonymous with FLOAT.

REAL [1]

Synonymous with FLOAT.

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

[1] A known issue in Snowflake displays FLOAT, FLOAT4, FLOAT8, REAL, DOUBLE, and DOUBLE PRECISION as FLOAT even though they are stored as DOUBLE.