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

问题描述 投票:0回答:3

我有收入浮动值作为字符串。执行简单查询后,例如:

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

等等。

问题是 - 如何将这些值转换为浮点数?我知道堆栈上已经发布了同类问题,但没有一个问题让我找到了合适的解决方案。

sql formatting google-bigquery string-formatting scientific-notation
3个回答
1
投票

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

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

PS:如果收入是数字,则不转换为浮动,而是转换为十进制。


1
投票

我想如果你转换为字符串,你将获得值:

CAST(SUM(revenue) AS string) as number

或者numeric

CAST(SUM(revenue) AS numeric) as number

0
投票

怎么样INTEGER铸造

SELECT
    EXTRACT(date FROM time) date,
    SUM(CAST(revenue AS INTEGER)) number
FROM
    `mytable`
GROUP BY date
ORDER BY date DESC
© www.soinside.com 2019 - 2024. All rights reserved.