Преобразовать научное обозначение, чтобы плавать после sum () в Bigquery - PullRequest
0 голосов
/ 12 марта 2019

У меня есть значения с плавающей запятой в виде строк. После выполнения простого запроса, например:

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

и т. Д.

Вопрос в том - как преобразовать эти значения в число с плавающей запятой? Я знаю, что вопросы такого же типа уже размещены в стеке, но ни один из них не привел меня к правильному решению.

Ответы [ 3 ]

1 голос
/ 12 марта 2019

Значение уже с плавающей точкой, просто FORMAT it:

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

PS: не конвертировать в число с плавающей запятой, если выручка числовая, вместо этого конвертировать в десятичную.

1 голос
/ 12 марта 2019

Я думаю, что если вы приведете к строке, вы получите значение:

CAST(SUM(revenue) AS string) as number

или numeric:

CAST(SUM(revenue) AS numeric) as number
0 голосов
/ 12 марта 2019

как насчет INTEGER кастинг

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