Как установить минимальное количество чисел после десятичной точки (0,9 => 0,90) - PullRequest
0 голосов
/ 07 июня 2019

Я использую Google BigQuery, и столбец имеет значения, которые я хочу округлить. Если я это сделаю, а округленное значение оканчивается на ноль, ноль не отображается.

Я пробовал использовать функцию FORMAT, которая, по-видимому, имеет некоторые функции. number , но я не знаю, как ее использовать. Всякий раз, когда я включаю в скобки любые две вещи, разделенные запятой, он жалуется, что принимает только 1 значение.

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Вы бы использовали FORMAT() со спецификатором точности.Всегда для четырех знаков после запятой - включая нули:

select format('%.4f', 1.23)

Если документация BQ не отвечает на ваши вопросы, я считаю, что эта функция, кажется, вдохновлена ​​классическим C printf() / sprintf() функций.

0 голосов
/ 07 июня 2019

Не знаю, есть ли в BigQuery (никогда не использовал его) лучший способ, я думаю, это решит вашу проблему, поскольку я только что попробовал это в их консоли.

Приведите ваш float к строке, а затемпроверьте, является ли ваша последняя цифра 0. Если она не добавлена:

SELECT case when RIGHT(cast(0.9 as string), 1) <> '0' then cast(0.9 as string)+'0' else cast(0.9 as string) end as FormattedNumber
...