📐Data types

SnowDDL supports native Snowflake data types only.

Synonyms and aliases are not allowed. Timestamp data types should be defined explicitly.

If data type has additional parameters (e.g. length), the full form should be used in all cases.

Supported data types

  • NUMBER(x,y)

  • FLOAT

  • BINARY(x)

  • BOOLEAN

  • VARCHAR(x)

  • DATE

  • TIME(x)

  • TIMESTAMP_LTZ(x)

  • TIMESTAMP_NTZ(x)

  • TIMESTAMP_TZ(x)

  • VARIANT

  • OBJECT

  • ARRAY

  • GEORGRAPHY

Rationale

  • SnowDDL uses an actual data types obtained from SHOW and DESC commands to compare config with Snowflake metadata. Values should be exactly the same.

  • It is much easier to find & replace data types in config when exactly the same syntax is being used in all cases. Especially when you have 1000+ tables to manage.

  • TIMESTAMP data types have significant differences and are affected by various ACCOUNT PARAMETERS. It is very important for data engineers to understand it and to pick the correct data type depending on specific use case.

Last updated