整数の形式で2^31以上を指定すると落ちます。
エラーメッセージわかりづらい(Javaのメッセージそのままだし、むしろわかり易いのか?)。
$ force query SELECT Amount FROM Opportunity WHERE Amount = 2147483648
FROM Opportunity WHERE Amount = 2147483648
^
ERROR at Row:1:Column:43
For input string: "2147483648"
条件値が整数っぽかったら内部でとりあえずIntegerとして変換かけようとしてその範囲外だとエラーになるのでしょうね。
.0をつけるか、Apexなら(Integer以外の)変数にして埋め込むことで回避できます。
$ force query SELECT Amount FROM Opportunity WHERE Amount = 2147483648.0
Amount
-----------------
2.147483648e+09
(1 records)