sql-server - 使用 SQRT() 的浮点运算无效
问题描述
SQRT(X)
当我输入一个值时,我收到一个无效的浮点运算错误。
发生此错误的原因是什么,我可以对该X
值采取什么措施来防止此错误?
在某些情况下,该X
值是库存商品的计算平均销售额。
我试过SQRT(ABS(x))
没有运气。
谢谢
解决方案
据我所知,SQRT(X) 给出错误“发生无效浮点运算”的唯一情况是 X 为负数。但是,您已经通过使用 ABS 函数解决了这个问题,如下所示:SQRT(ABS(X))。
所以,我的猜测是错误并不是真的来自 SQRT 函数,而是来自附近的其他东西。让我们看看你给出的表达式:
SQRT(2*50*ABS(X)) / NULLIF(B*0.2/12,0))
这个表达式显然有一个额外的右括号。这让我认为它只是更大表达式的一部分,而更大的表达式是错误的原因。
例如,如果 B 为 0,则 NULLIF() 变为 NULL。您除以 NULL,从而得到 NULL 结果。现在,你如何处理这个结果?也许还有一些不能很好地处理 NULL 的计算?
这里有很多猜测。如果我的猜测没有为您指明正确的方向,那么了解导致错误的 B 和 X 的哪些值以及包含该表达式的完整语句会很有帮助。
推荐阅读
- javascript - 无法显示来自 API 的数据
- python - 在文档字符串中保留 matplotlib 图的上下文
- linux - (AT&T Debian 32 位操作系统)如何将值列表反转为 Assembly 中的另一个变量
- javascript - 如何在 console.log 中获得相同的数字?
- java - 配置更改时,我的 Android 应用程序崩溃
- python - 在 tkinter 中的窗口之间切换
- reactjs - 如何使用 React 钩子中的表单进行 console.log 状态?
- php - 如何将 cURL 转换为 Guzzle GET
- pandas - 如何使用未识别的 feature.id 绘制带有 folium 和 geoJson 的 Choropleth 地图?
- rxjs - 如何从失败的 forkJoin 请求中获取数据?