如果 MySQL ROUND() 函式的第二個引數(指定小數位數)為負值,會對輸出產生什麼影響?


如果我們指定第二個引數的負值,則小數點前的數字將被刪除並四捨五入。要刪除的數字位數取決於負第二個引數的值。以下示例將演示 ROUND() 函式輸出的變化,具體取決於第二個引數的負值。

mysql> Select ROUND(1789.456,-1);
+--------------------+
| ROUND(1789.456,-1) |
+--------------------+
|               1790 |
+--------------------+
1 row in set (0.00 sec)  

上面的查詢返回 1790,因為第一個數字(由於值為 -1 而要刪除)是小數點前的 9(大於 5),因此它前面的數字 8 將四捨五入為 9。

mysql> Select ROUND(1789.456,-2);
+--------------------+
| ROUND(1789.456,-2) |
+--------------------+
|               1800 |
+--------------------+
1 row in set (0.00 sec)  

上面的查詢返回 1800,因為第二個數字(由於值為 -2 而要刪除)是小數點前的 8(大於 5),因此它前面的數字 7 將四捨五入為 8。

mysql> Select ROUND(1789.456,-3);
+--------------------+
| ROUND(1789.456,-3) |
+--------------------+
|               2000 |
+--------------------+
1 row in set (0.00 sec)  

上面的查詢返回 2000,因為第三個數字(由於值為 -3 而要刪除)是小數點前的 7(大於 5),因此它前面的數字 1 將四捨五入為 2。

mysql> Select ROUND(1789.456,-4);
+--------------------+
| ROUND(1789.456,-4) |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)  

上面的查詢返回 0,因為小數點前的總數字位數為 4,而第二個引數的值為 -4。

更新於: 2020年2月10日

1K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.