gpt4 book ai didi

sql - BigQuery 中的 NUMERIC 和 FLOAT 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 13:25:39 26 4
gpt4 key购买 nike

我阅读了文档:
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types
https://cloud.google.com/bigquery/pricing#data

我知道FLOAT是 8 个字节,而 NUMERIC是 16 个字节
这是唯一的区别吗?
文档说 NUMERIC可以范围-99999999999999999999999999999.99999999999999999999999999999999999999.999999999但它没有指定 FLOAT 的范围.

最佳答案

我喜欢当前的答案。我想添加这个来证明为什么NUMERIC是必要的:

SELECT 
4.35 * 100 a_float
, CAST(4.35 AS NUMERIC) * 100 a_numeric

enter image description here

这不是错误 - 这正是 IEEE defines floats 的方式应该处理。同时 NUMERIC表现出更接近人类期望的行为。

对于 NUMERIC 的另一个证明有用,这个答案显示了 NUMERIC可以处理 numbers too big for JavaScript to normally handle .

在将这个问题归咎于 BigQuery 之前,您可以检查大多数其他编程语言是否也会这样做。以 Python 为例:

enter image description here

关于sql - BigQuery 中的 NUMERIC 和 FLOAT 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com