> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ELT/CDC: Monitoring - Data Type Changes - Snowflake

> Reference for data type mappings from database sources to Snowflake in Integrate.io ELT & CDC. Understand how types are converted during sync.

Please refer to [this page](/cdc/data-type-mapping-snowflake) to view the data type mappings from your source to Snowflake. If the data type mapping differs on the Snowflake side after performing the change on the source, the following section explains how these changes will be handled by the automatic replication feature.

| Original Data Type | Updated Data Type | Data Type Conversion      | Column properties adjusted | Backfill supported |
| :----------------- | :---------------- | :------------------------ | :------------------------- | :----------------- |
| NUMBER             | FLOAT             | FLOAT                     | ❌                          | ✅                  |
|                    | NUMBER            | NUMBER                    | ✅                          | N/A                |
|                    | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | VARIANT           | VARIANT                   | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| FLOAT              | NUMBER            | NUMBER                    | ❌                          | ✅                  |
|                    | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | VARIANT           | VARIANT                   | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| TEXT               | NUMBER            | NUMBER                    | ❌                          | ✅                  |
|                    | FLOAT             | FLOAT                     | ❌                          | ✅                  |
|                    | TEXT              | TEXT                      | ✅                          | N/A                |
|                    | DATE              | DATE                      | ❌                          | ✅                  |
|                    | TIMESTAMP\_TZ     | TIMESTAMP\_TZ             | ❌                          | ✅                  |
|                    | TIMESTAMP\_NTZ    | TIMESTAMP\_NTZ            | ❌                          | ✅                  |
|                    | TIME              | TIME                      | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| VARIANT            | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| DATE               | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | TIMESTAMP\_TZ     | TIMESTAMP\_TZ             | ❌                          | ✅                  |
|                    | TIMESTAMP\_NTZ    | TIMESTAMP\_NTZ            | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| TIMESTAMP\_TZ      | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | DATE              | DATE                      | ❌                          | ✅                  |
|                    | TIMESTAMP\_NTZ    | TIMESTAMP\_NTZ            | ❌                          | ✅                  |
|                    | TIME              | TIME                      | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| TIMESTAMP\_NTZ     | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | DATE              | DATE                      | ❌                          | ✅                  |
|                    | TIMESTAMP\_NTZ    | TIMESTAMP\_TZ             | ❌                          | ✅                  |
|                    | TIME              | TIME                      | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| TIME               | TEXT              | TEXT                      | ❌                          | ✅                  |
|                    | Others            | Same as Updated Data Type | ❌                          | ❌                  |
| BINARY             | Any               | Same as Updated Data Type | ❌                          | ❌                  |

## Important Notes

* **Narrowing Changes:** The pipeline will ignore narrowing changes in numeric precision and scale, or string length to ensure compatibility between old and new data in the destination.
* **Numeric Field Adjustments:** When switching between `FLOAT` and `NUMBER`, be aware that precision may increase or decrease due to the differing precision and scale characteristics of these types.
* **Handling Precision and Scale Changes:** Changes in precision and scale can only be applied to the `NUMBER` data type. If the source schema maps to a data type different from `NUMBER`, the change will not be reflected in the destination.
* **Backfilling:** Backfilling a column involves copying existing data from the old column to a new column with the updated data type, ensuring no data is lost during the conversion. Please note that we leverage Snowflake’s [data type coercion](https://docs.snowflake.com/en/sql-reference/data-type-conversion) to backfill and transform data from the original data type to the new one. If Snowflake is unable to transform the values to the desired data type during backfilling, the pipeline will fail, prompting a resync of the affected table.
