How Does Fivetran Handle BIGDECIMAL Data?
Question
How does Fivetran handle BIGDECIMAL data in destinations?
Environment
All destinations
Answer
Fivetran handles BIGDECIMAL differently for each destination. The exact behavior depends on destination-specific rules and limits.
Expand the following sections to learn how each destination handles BIGDECIMAL data.
Apache Kafka
For Apache Kafka destinations, Fivetran handles the BIGDECIMAL data type based on whether the column is a primary key.
If the column is a primary key, we convert BIGDECIMAL to STRING when the column’s precision exceeds
38or the scale exceeds9. If the precision or scale is not specified, we convert BIGDECIMAL to DOUBLE.If the column is not a primary key, we convert BIGDECIMAL to DOUBLE when the column’s precision exceeds
38, the scale exceeds9, or if the precision or scale is not specified.
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 38 or the scale exceeds 9:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
Azure Synapse
For Azure Synapse destinations, Fivetran converts BIGDECIMAL to DOUBLE PRECISION when any of the following conditions apply:
- The column's precision or scale exceeds
38 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision or scale exceeds 38:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
BigQuery
For BigQuery destinations, Fivetran applies the following rules depending on the column’s precision and scale:
- If the column is a primary key, and its precision exceeds
76or the scale exceeds38, the sync fails. - If the column is not a primary key, and its precision exceeds
76or the scale exceeds38, we convert BIGDECIMAL to BIGNUMERIC. We also limit the precision to76and the scale to38in the destination table. - If the precision or scale is not specified, we convert BIGDECIMAL to FLOAT.
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 76 or the scale exceeds 38:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to BIGNUMERIC.
Databricks
For Databricks destinations, Fivetran converts BIGDECIMAL to DOUBLE when any of the following conditions apply:
- The column's precision or scale exceeds
38 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision or scale exceeds 38:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
Managed Data Lake Service
For Managed Data Lake Service destinations, Fivetran applies the following rules:
- If the column is a primary key, and its precision exceeds
38or the scale exceeds10, we convert its data type to STRING. - If the column's precision or scale is not specified, we convert its data type to DOUBLE.
- For all other columns, we convert the data type to DECIMAL(38,10).
MySQL
For MySQL destinations, Fivetran converts BIGDECIMAL to DOUBLE PRECISION when any of the following conditions apply:
- The column's precision exceeds
65 - The column's scale exceeds
30 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 65 or the scale exceeds 30:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
Oracle
For Oracle destinations, Fivetran converts BIGDECIMAL to BINARY DOUBLE when any of the following conditions apply:
- The column's precision exceeds
38 - The column's scale exceeds
127 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 38 or the scale exceeds 127:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
PostgreSQL
For PostgreSQL destinations, Fivetran converts BIGDECIMAL to:
- decimal(precision, scale) when both precision and scale of the column are specified
- decimal when precision and scale are not specified or are greater than or equal to
1000 - text when precision or scale exceeds the PostgreSQL limits
Redshift
For Redshift destinations, Fivetran converts BIGDECIMAL to DOUBLE PRECISION when any of the following conditions apply:
- The column's precision exceeds
38 - The column's scale exceeds
37 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 38 or the scale exceeds 37:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
If the column has a precision of 19, we always increase it to 20 by default to mitigate Redshift limitations.
Snowflake
For Snowflake destinations, Fivetran converts BIGDECIMAL to DOUBLE PRECISION when any of the following conditions apply:
- The column's precision exceeds
38 - The column's scale exceeds
37 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision exceeds 38 or the scale exceeds 37:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.
SQL Server
For SQL Server destinations, Fivetran converts BIGDECIMAL to DOUBLE PRECISION when any of the following conditions apply:
- The column's precision or scale exceeds
38 - The column's precision or scale is not specified
However, in some cases, we apply exceptions under the same conditions and either convert BIGDECIMAL to STRING or retain BIGDECIMAL in the destination table.
Exceptions
For data from the following connections, Fivetran converts BIGDECIMAL to STRING when the column's precision or scale exceeds 38:
- Amazon DynamoDB
- MySQL connections created on or after March 27, 2026
- Oracle connections created on or after October 14, 2024
- PostgreSQL connections created on or after April 1, 2025
- Veeva Vault
If a column from one of these connections does not specify precision or scale, we try to infer both values.
- If we successfully infer the precision and scale, we retain BIGDECIMAL in the destination table.
- If it is not possible for us to infer the precision or scale, we convert BIGDECIMAL to STRING.
If none of the above conditions or exceptions apply, we convert BIGDECIMAL to DECIMAL.