我一直在尝试在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而失败)
答案 0 :(得分:1)
我发现如果两个输入都是浮点,它就可以工作。
换句话说,这有效:
select power(1+(8.0/12), 60.0)