2016-04-15 60 views
1

我遇到INTEGER类型的问题。它过度流动,无法阻止它(因为它是64位无符号整数)。它没有错误oveflows,最糟糕的事情刚刚成为负数Bigquery:INTEGER类型溢出

SELECT 9223372036854775807 + 1 

是否有可能解决这个问题(也许谷歌已经计划推出新的int型)?

+0

任何相关的BigQuery现实生活中的使用情况? –

+0

@MikhailBerlyant聚合储存为纳米剂(我们的要求之一) – Alexey

回答

2

大量查询将提供SQL一个选项(由零等整数溢出,除法)以提高在这种情况下错误

+0

谢谢!你有什么估计什么时候它会被释放? – Alexey

+0

我希望在几个星期内看到它在生产。 –

+0

它现在可用,详情请参阅https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql –

0

可以检测这样的条件,并例如使用作为错误指示器的NULL,代价是更多的键入。

喜欢的东西(假设你添加了两个非负值):

select if(a + b >= a, a + b, NULL) from 
( -- sample data 
    select 9223372036854775807 as a, 1 as b 
)