2016-04-15 4 views
1

INTEGER型に問題があります。それはオーバーフローし、それを防ぐ方法はありません(64ビットのunsigned intです)。それがエラーなしでoveflows最悪、単に負の数Bigquery:INTEGER型オーバーフロー

SELECT 9223372036854775807 + 1 

になってきては、この問題を克服するためのいずれかの可能性がある(多分Googleが新しいint型のタイプを導入する計画を持っていますか)?

+0

任意のBigQueryの関連実生活のユースケース? –

+0

@MikhailBerlyant nanocents(私たちの要件の1つ)として保存されたお金を集める – Alexey

答えて

2

BigQueryは、あなたがそのような状態を検出し、例えば、使用することができ、このような場合にはエラーが発生する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 
) 
関連する問題