我使用啥 BigQuery 数据类型来支持许多十进制数字

Posted

技术标签:

【中文标题】我使用啥 BigQuery 数据类型来支持许多十进制数字【英文标题】:What BigQuery data type do I use to support many decimal digits我使用什么 BigQuery 数据类型来支持许多十进制数字 【发布时间】:2020-04-01 12:27:37 【问题描述】:

我们正在将数据从大型机系统导入 BigQuery,其中一些货币值如下所示:“54091.4369372923497267759562841530054645”。如果我将其转换为建议用于财务数据的 NUMERIC,我只保留 9 位小数。如果我将它转换为 FLOAT64,我会得到 12 个十进制数字。

有什么方法可以让我保留所有原始信息而不会丢失精度?

我知道不建议将 FLOAT64 用于财务计算,但我仍然希望保留更多小数。

【问题讨论】:

我建议暂时将原始信息保留为 STRING。 BigQuery 将来可能有更大的数字供您迁移。 【参考方案1】:

将评论移至完整答案:

BigQuery 中的NUMERIC 类型将无法容纳许多这种样式。

同时(为了防止数据丢失),只需将这些数字存储为STRING

如果这对您来说很重要,请使用 BigQuery 公共问题跟踪器 - 输入并关注请求。

【讨论】:

以上是关于我使用啥 BigQuery 数据类型来支持许多十进制数字的主要内容,如果未能解决你的问题,请参考以下文章

从 AVRO 加载到 BigQuery - 在目标表中指定十进制类型

将 avro 十进制数据加载到 BigQuery 中?

将数组保存到 BigQuery

有啥方法可以在 BigQuery 标准 SQL 脚本中遍历数据集中的所有表?

C# 十进制文字符号中的 M 代表啥?

在 Doctrine 2 中指定十进制字段类型时,比例和精度是啥意思?