我有两个问题。我希望两者都插入相同的值:429496729600
,但其中一个因错误而失败:
db=> update order_detail set amount = 400*1024*1024*1024 where id = 11;
ERROR: integer out of range
db=> update order_detail set amount = 429496729600 where id = 11;
UPDATE 1
为什么第一次查询会出错?
UPD
忘记指定 amount
的类型是 bigint
和
400*1024*1024*1024 == 429496729600
最佳答案
要强制乘法输出 bigint 而不是 int,您可以将 1 转换为 bigint 并乘法
select cast(1 as bigint)*400*1024*1024*1024;
?column?
--------------
429496729600
关于sql - Postgres : integer out of range. 为什么会出现这个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238781/