Числовой c тип данных и десятичные дроби - PullRequest
0 голосов
/ 13 февраля 2020

Я уверен, что это должно быть просто, но я не могу понять это. У меня есть колонка, полная фракций, таких как: 0,6333333333. Правильно ли я указывал тип данных NUMERI C? Или это должно быть что-то еще? Потому что он продолжает выдавать мне эту ошибку:

Could not convert value '0.6333333333' to numeric

Стоит ли мне уменьшать десятичные дроби или скорее менять тип на что-то еще?

1 Ответ

0 голосов
/ 13 февраля 2020

Тип данных NUMERIC в BigQuery дает вам все, что вы хотите, при условии, что вам нужна точность 38 цифр и до 9 цифр справа от десятичной точки. Цитируя документацию :

Тип данных NUMERI C представляет собой точное значение цифры c с точностью 38 цифр и 9 десятичных знаков шкалы.

Ваше значение имеет 10 цифр справа от десятичной точки. Таким образом, это не может быть точно представлено. Что ты можешь сделать? Вот несколько вариантов:

  • Забудьте о десятом ди git. Было приятно, пока это продолжалось, но BQ его не поддерживает.
  • Умножьте значения на 10 или на несколько других кратных 10, чтобы они могли быть точно представлены (вы знаете, значения представляют собой миллиметры, а не километры). ).
  • Сохраните значения в виде строк и преобразуйте их в числа с плавающей точкой, если необходимо выполнить арифметику c.
  • Сохраните значения как числа с плавающей точкой и надеемся, что значение будет «достаточно близко» ( достаточно точности для этого значения).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...