Bigquery:INTEGER类型溢出

时间:2016-04-15 13:54:38

标签: google-bigquery

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

SELECT 9223372036854775807 + 1 

是否有可能克服这个问题(也许谷歌计划引入新的int类型)?

2 个答案:

答案 0 :(得分:2)

BigQuery将为SQL提供一个选项,以便在这种情况下引发错误(整数溢出,除零等)

答案 1 :(得分:0)

您可以检测到这些情况并使用例如NULL作为错误指示符,代价是更多输入。

类似的东西(假设你要加两个非负值):

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