如何阻止 MySQL 小數字段被舍入?
你可以使用 DECIMAL() 函式來阻止小數舍入。以下是小數舍入的示例。以我們的示例為例,我們首先建立一個示例表
mysql> create table stopRoundingDemo -> ( -> Amount DECIMAL(7) -> ); Query OK, 0 rows affected (0.67 sec)
使用插入命令在表中插入一些記錄。查詢如下:-
mysql> insert into stopRoundingDemo values(7836.783); Query OK, 1 row affected, 1 warning (0.43 sec) mysql> insert into stopRoundingDemo values(1737.67); Query OK, 1 row affected, 1 warning (0.23 sec) mysql> insert into stopRoundingDemo values(110.50); Query OK, 1 row affected, 1 warning (0.33 sec)
使用選擇語句顯示錶中的所有記錄。查詢如下:-
mysql> select *from stopRoundingDemo;
輸出如下
+--------+ | Amount | +--------+ | 7837 | | 1738 | | 111 | +--------+ 3 rows in set (0.08 sec)
在上面的示例輸出中,小數被舍入。
現在,我們將看到如何阻止小數舍入。為此,我們首先建立一個新表,並設定 DECIMAL 型別,這樣就可以在不捨入的情況下得到結果
mysql> create table stopRoundingDemo2 -> ( -> Amount DECIMAL(10,4) -> ); Query OK, 0 rows affected (0.81 sec)
使用插入命令在表中插入一些記錄。查詢如下:-
mysql> insert into stopRoundingDemo2 values(7836.783); Query OK, 1 row affected (0.14 sec) mysql> insert into stopRoundingDemo2 values(1737.67); Query OK, 1 row affected (0.14 sec) mysql> insert into stopRoundingDemo2 values(110.50); Query OK, 1 row affected (0.16 sec)
使用選擇語句顯示錶中的所有記錄。查詢如下:-
mysql> select *from stopRoundingDemo2;
輸出如下
+-----------+ | Amount | +-----------+ | 7836.7830 | | 1737.6700 | | 110.5000 | +-----------+ 3 rows in set (0.00 sec)
廣告