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.