gpt4 book ai didi

database - postgresql 中的指数问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:59:40 25 4
gpt4 key购买 nike

我遇到了 postgresql 中指数函数的问题。如果我使用此选择语句 select exp(5999),我会得到:

ERROR: value out of range: overflow 
SQL state: 22003

如果我使用此选择语句 select exp(5999.1),我将得到指数结果。

在其他情况下,如果我使用此语句 select exp(9999.1),我会收到以下错误:

ERROR: argument for function "exp" too big
SQL state: 22003

请告诉我为什么会出现此问题以及此类问题的解决方案是什么?

最佳答案

我认为你的第一个问题是 exp() 的输出类型与输入类型相同造成的。因为您使用的是整数值,所以它会提示结果不适合整数。

这可能就是 exp(5999.1)exp(5999.0) 起作用的原因,浮点类型具有更大的范围。

您的第二个错误略有不同,它提示的不是计算过程中的溢出,而是 input 参数太大这一事实。它可能在某处对输入进行了完整性检查。

即使是浮点值最终也会超出范围。 e9999 约为 104300,这是一个相当大的数字,可能远远超出您在数据库应用程序中看到的数字。

事实上,我对数据库应用程序中如此大的数字的用例很感兴趣。这听起来更适合像 MPIR 这样的 bignum 包。 .

关于database - postgresql 中的指数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com