Summary of data types¶
Snowflake supports most SQL data types. The following table provides a summary of the supported 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 can’t be specified. |
|
FLOAT, FLOAT4, FLOAT8 |
[1] |
|
DOUBLE, DOUBLE PRECISION, REAL |
Synonymous with FLOAT. [1] |
|
VARCHAR |
Default (and maximum) length is 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. |
|
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, isn’t stored. |
|
TIMESTAMP_NTZ |
TIMESTAMP with no time zone; time zone, if provided, isn’t stored. |
|
TIMESTAMP_TZ |
TIMESTAMP with time zone. |
|
VARIANT |
||
OBJECT |
||
ARRAY |
||
ARRAY |
Currently only supported for Iceberg tables. |
|
OBJECT |
Currently only supported for Iceberg tables. |
|
MAP |
Currently only supported for Iceberg tables. |
|
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.