sql >> Database >  >> RDS >> Mysql

Hoe voorkom ik dat een MySQL-decimaalveld wordt afgerond?

Het decimale type in MySQL heeft twee afstemknoppen:precisie en schaal. Je hebt de schaal weggelaten, dus deze staat standaard op 0.

Documentatie (link )

Voorbeeld

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)


  1. Wat is de meest eenvoudige manier om lege datums in sql-resultaten op te vullen (op mysql- of perl-uiteinde)?

  2. Wat zijn sequentiële versus parallelle streams in Java?

  3. DECODE() functie in SQL Server

  4. Base64-codering en decodering in orakel