理解为什么 SQL 整数除法返回零
SQL 除法运算的意外零结果可能会令人困惑。本文解决了两个数值变量(@set1 和 @set2)相除产生 0 而不是预期的 0.073667712 的情况。
问题源于变量的数据类型。 SQL 变量通常是整数或字符串。 当 @set1 (47) 和 @set2 (638) 被视为整数时,会发生整数除法,结果为 0。为了获得正确的小数结果,请在计算之前将这些变量显式转换为浮点数。
解决方案使用CAST
函数将变量转换为浮点数:
<code class="language-sql">SET @weight = CAST(@set1 AS FLOAT) / CAST(@set2 AS FLOAT);</code>
将 @set1 和 @set2 转换为 FLOAT
确保浮点除法,产生准确的十进制值 0.073667712。这个简单的改变保证了正确的数学结果。
以上是为什么 SQL 中的整数除法返回 0 而不是小数值?的详细内容。更多信息请关注PHP中文网其他相关文章!