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


如果我們指定第二個引數為負值,則小數點前的數字將被刪除,**不會**進行四捨五入。要刪除的數字位數取決於第二個負引數的值。以下示例將演示根據第二個引數的負值,TRUNCATE() 函式輸出的變化。

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

上面的查詢返回 1780,因為由於第二個引數的值為 -1,所以刪除了小數點前的第一位數字。

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

上面的查詢返回 1700,因為由於第二個引數的值為 -2,所以刪除了小數點前的兩位數字。

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

上面的查詢返回 1000,因為由於第二個引數的值為 -3,所以刪除了小數點前的三位數字。

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

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

更新於: 2020年2月10日

297 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.