在 Bigquery 中的 sum() 之后将科学记数法转换为浮点数

Convert scientific notation to float after sum() in Bigquery

我将收入浮动值作为字符串。在执行如下简单查询后:

SELECT
    EXTRACT(date FROM time) date,
    SUM(CAST(revenue AS FLOAT64)) number
FROM
    `mytable`
GROUP BY date
ORDER BY date DESC

我知道了:

2019-03-11    3.2172407478999996E8
2019-03-10    2.3065347E7

以此类推

问题是 - 如何将这些值转换为浮点数? 我知道堆栈中已经发布了同类问题,但是 none 其中带来了给我一个合适的解决方案。

我想如果你转换成一个字符串,你会得到值:

CAST(SUM(revenue) AS string) as number

numeric:

CAST(SUM(revenue) AS numeric) as number

INTEGER 选角怎么样

SELECT
    EXTRACT(date FROM time) date,
    SUM(CAST(revenue AS INTEGER)) number
FROM
    `mytable`
GROUP BY date
ORDER BY date DESC

该值已经是一个浮点数,只是FORMAT它:

SELECT FORMAT('%.2f', 3.2172407478999996E8)
-- 321724074.79

PS:如果收入是一些monetary/financial计算,不要转换为浮动;请改用十进制数据类型。