理解為什麼 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中文網其他相關文章!