我尝试在google BigQuery api上运行查询,并获得如下异常:
“函数IF中的参数类型不匹配:'distinctPlayers'的类型为'TYPE_UINT64','0'的类型为'TYPE_INT32'。”
查询太大,所以我只写了失败的一部分。
QUERY:sum(if(action_type == 3,distinctPlayers,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
。
提前致谢, OMKAR
答案 0 :(得分:1)
要回答您的问题,您转换为signed int的方式是通过INTEGER
函数。所以你应该能够成功运行
... SUM(IF(action_type == 3, INTEGER(distinctPlayers), 0)) AS ...
但是,您看到的消息实际上指向了BigQuery中的错误 - 我现在正在内部提交错误。