Преобразуйте неподписанные int в подписанные int через Google BigQuery
Я попытался выполнить запрос на API Google BigQuery и получил следующее исключение:
Msgstr "Несоответствие типа аргумента в функции IF: 'DifferentPlayers" - это тип "TYPE_UINT64", "0" - это тип "TYPE_INT32"."
Запрос слишком велик, поэтому я написал только его часть, где он терпит неудачу.
QUERY: сумма (если (action_type == 3, DifferentPlayers, 0)) как Game_Viral_Acceptor_Count
То, что я понял, это:
if condition is true
then set distinctPlayers of type unsigned int64
otherwise set 0 which is of type int32
Может ли кто-нибудь пролить свет на то, как конвертировать unsigned int64
в signed int
через BigQuery
,
Заранее спасибо, Омкар
1 ответ
Чтобы ответить на ваш вопрос, вы бросаете подписанный int через INTEGER
функция. Таким образом, вы должны быть в состоянии успешно запустить
... SUM(IF(action_type == 3, INTEGER(distinctPlayers), 0)) AS ...
Однако сообщение, которое вы видите, на самом деле указывает на ошибку в BigQuery - я сейчас исправляю ошибку.