如何阻止 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)
广告