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