小编典典

如何停止对MySQL十进制字段进行四舍五入?

sql

我在MySQL中有一个表,该表的字段为小数,长度为9,无符号。我用它来定价。

在插入数据并查询之后,所有数据均已四舍五入,小数点已删除。

我对为什么感到困惑。

故障排除技巧?


主持人 :web.com

phpMyAdmin版本 :2.11.10.1

MySQL客户端版本 :5.0.95


阅读 31

收藏
2021-04-07

共1个答案

小编典典

MySQL中的小数类型有两个调整旋钮:精度和小数位数。您省略了小数位,因此默认为0。

文档([链接](http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-

changes.html))

DECIMAL列的声明语法为DECIMAL(M,D)。MySQL 5.1中参数的值范围如下:

M是最大位数(精度)。它的范围是1到65。(较早版本的MySQL允许范围是1到254。)

D是小数点右边的位数(小数位数)。范围是0到30,并且不能大于M。

例子

mysql> create table test01 (field01 decimal(9));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test01 (field01) values (123.456);
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from test01;
+---------+
| field01 |
+---------+
|     123 |
+---------+
1 row in set (0.00 sec)

mysql> create table test02 (field01 decimal(9, 4));
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test02 (field01) values (123.456);
Query OK, 1 row affected (0.01 sec)

mysql> select * from test02;
+----------+
| field01  |
+----------+
| 123.4560 |
+----------+
1 row in set (0.00 sec)
2021-04-07