sql 除法使用 / 運算符,除數為整數時返回整數舍棄小數,為小數時返回浮點保留小數位。除以 0 會報錯,符號不同結果為負。可使用 round() 函數保留指定小數位數,轉換數字為浮點型可避免精度損失。
SQL 中除法
如何進行除法?
SQL 中使用 /
運算符進行除法。
除數為整數時
如果除數為整數,SQL 將返回一個整數結果,小數部分將被舍棄。例如:
<code class="sql">SELECT 10 / 3; -- 返回 3</code>
登錄后復制
除數為小數時
如果除數為小數,SQL 將返回一個浮點結果,保留小數位。例如:
<code class="sql">SELECT 10 / 3.5; -- 返回 2.857142857142857</code>
登錄后復制
特殊情況
除以 0:除以 0 會返回一個錯誤。
結果為負:如果被除數和除數的符號不同,結果將為負。
使用 ROUND() 函數
要保留特定位數的小數,可以使用 ROUND()
函數。例如:
<code class="sql">SELECT ROUND(10 / 3.5, 2); -- 返回 2.86</code>
登錄后復制
避免精度損失
為了避免精度損失,建議將數字轉換為浮點型,然后再進行除法。例如:
<code class="sql">SELECT CAST(10 AS FLOAT) / CAST(3.5 AS FLOAT); -- 返回 2.857142857142857</code>
登錄后復制