Summary of data types¶
Snowflake supports most SQL data types:
Category |
Type |
Notes |
---|---|---|
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] |
|
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. |
|
BOOLEAN |
Currently only supported for accounts provisioned after January 25, 2016. |
|
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. |
|
VARIANT |
||
OBJECT |
||
ARRAY |
||
GEOGRAPHY |
||
GEOMETRY |
||
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.