Sybase" power"函数返回空结果集(截断错误)

时间:2014-08-13 08:47:02

标签: sql sybase

我一直在尝试在Sybase 15.7 SQL查询中实现某些报告的公式,我得到了一些奇怪的结果,因此我尝试分解查询并将其作为单个选择运行。

select (1+(8.0/12))

结果: 1.66667

到目前为止所有预期

select power(1+(8.0/12), 1)

结果: 1.66667

仍然很好(它也适用于整数幂整数)

select power(1+(8.0/12), 2)

空结果集....

为什么电源功能会在这种情况下失败?

检查日志我收到一条警告,说“发生了截断错误”,我认为这意味着它没有足够的精度来处理电源功能的结果。但是,我无法在网上找到关于如何处理该错误的任何内容,或者让它给出了结果的最佳近似值......

如何在Sybase中计算功率(1+(8.0 / 12),60)? (最终的公式需要指数为60甚至更高,但是Sybase只会以指数为2而失败)

1 个答案:

答案 0 :(得分:1)

我发现如果两个输入都是浮点,它就可以工作。

换句话说,这有效:

select power(1+(8.0/12), 60.0)