通过google BigQuery将unsigned int转换为signed int

时间:2012-06-16 00:32:29

标签: sql int google-bigquery uint

我尝试在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 intBigQuery

提前致谢, OMKAR

1 个答案:

答案 0 :(得分:1)

要回答您的问题,您转换为signed int的方式是通过INTEGER函数。所以你应该能够成功运行

... SUM(IF(action_type == 3, INTEGER(distinctPlayers), 0)) AS ...

但是,您看到的消息实际上指向了BigQuery中的错误 - 我现在正在内部提交错误。