Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso impedire l'arrotondamento di un campo decimale MySQL?

Il tipo decimale in MySQL ha due manopole di ottimizzazione:precisione e scala. Hai omesso la scala, quindi il valore predefinito è 0.

Documentazione (link )

Esempio

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)