Преобразуйте неподписанные 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 - я сейчас исправляю ошибку.

Другие вопросы по тегам