【发布时间】:2022-01-09 16:36:55
【问题描述】:
我发现在特定情况下扳手的ROUND() 函数返回了意外的值。
这是我找到的。
SELECT ROUND(34.092135, 8)
> 34.092135
SELECT ROUND(34.092136, 8)
> 34.092135999999996 // this is supposed to return 34.092136
SELECT ROUND(34.092137, 8)
> 34.092137
我发现这些查询与 BigQuery 相同。
我是否有任何误解,或者如果没有,我怎样才能让它正常工作?
谢谢。
【问题讨论】:
-
只有
SELECT ROUND(34.092136, 8)会给出这样的结果吗? -
我不知道
SELECT ROUND(34.092136, 8)是否是唯一返回这种结果的函数或值。但到目前为止,这是我能找到的唯一一个。现在我尝试了SELECT FLOOR(34.092136)、SELECT CEIL(34.092136),例如,它们返回了正确的结果。 -
这个数字“34.092136”的具体用例是什么,因为这个数字似乎很特殊。