我正在尝试将 java 中的函数转换为 pl/pgsql,我发现的一个问题是当我尝试将 2 个负数相加并得到一个正数时,更具体地说:
public void sum(){
int n1 = -1808642602;
int n2 = -904321301;
System.out.println(n1 + n2);// result is 1582003393
}
在 pl/pgsql 中,我得到一个整数超出范围错误,如果我将变量类型更改为 bigint,我得到 2 个负数的正常总和,即 -2712963903,而不是 1582003393
如何在不打印整数超出范围错误的情况下让 pl/pgsql 获得相同的结果?