How are floats stored in Snowflake?

6.51K viewsData Architecture
0

How are floats stored in Snowflake?

Alejandro Penzini Answered question May 17, 2023
0

In Snowflake, floating-point numbers (floats) are stored using a fixed-point format, rather than the IEEE 754 standard format. Snowflake uses a decimal-based fixed-point data type for precise numeric storage and calculations.

In Snowflake, floats are stored using the following fixed-point data types:

1. FLOAT:

- The FLOAT data type in Snowflake is a fixed-point numeric data type.
- It is used for representing floating-point numbers with variable precision.
- The precision and scale of a FLOAT column are specified during table creation or column definition.
- Precision refers to the total number of digits (both integer and decimal) that a FLOAT column can store.
- Scale represents the number of decimal places that can be stored in the FLOAT column.
- The precision can range from 1 to 38, and the scale can range from -84 to 127.
- The storage size for a FLOAT column depends on the specified precision and scale, and it is variable based on the value being stored.

2. DOUBLE:

- The DOUBLE data type in Snowflake is a double-precision fixed-point numeric data type.
- It provides higher precision compared to the FLOAT data type.
- DOUBLE columns have a fixed precision of 38 and a scale of -84 to 127, allowing for a wide range of numeric values with high precision.
- DOUBLE columns occupy a fixed storage size of 16 bytes.

Unlike the IEEE 754 binary-based floating-point format, Snowflake's fixed-point storage format allows for precise numeric calculations without the inherent limitations and precision issues associated with binary-based floats.

It's important to note that when working with floating-point numbers in Snowflake, you should consider the appropriate precision and scale for your specific use case to ensure accurate storage and calculations.

Alejandro Penzini Changed status to publish June 30, 2023

Maximize Your Data Potential With ITS

Feedback on Q&A