設定 MySQL DECIMAL 的精度,小數點後為 10 位數字?


眾所周知,DECIMAL() 方法採用兩個引數。第一個引數表示位數的總數,第二個引數表示小數點後位數的數量。因此,如果您使用 DECIMAL(10,10),這意味著您只能使用 10 個小數位。

例如:使用 DECIMAL(20,10) 儲存 0.9999999999。

為了理解我們上面討論的內容,讓我們建立一個表。建立表的查詢如下

mysql> create table Decimal_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Price DECIMAL(20,10),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.06 sec)

現在,可以使用 insert 命令向表中插入一些記錄。插入記錄的查詢如下

mysql> insert into Decimal_Demo(Price) values(7475433123.1727374747);
Query OK, 1 row affected (0.15 sec)
mysql> insert into Decimal_Demo(Price) values(999.9999999999);
Query OK, 1 row affected (0.19 sec)
mysql> insert into Decimal_Demo(Price) values(1363645345.1726364664);
Query OK, 1 row affected (0.16 sec)
mysql> insert into Decimal_Demo(Price) values(1.172636466437475656565);
Query OK, 1 row affected, 1 warning (0.53 sec)
mysql> insert into Decimal_Demo(Price) values(0.9999999999);
Query OK, 1 row affected (0.20 sec)

使用 select 語句從表中顯示所有記錄。查詢如下

mysql> select *from Decimal_Demo;

以下是輸出

+----+-----------------------+
| Id | Price                 |
+----+-----------------------+
|  1 | 7475433123.1727374747 |
|  2 | 999.9999999999        |
|  3 | 1363645345.1726364664 |
|  4 | 1.1726364664          |
|  5 | 0.9999999999          |
+----+-----------------------+
5 rows in set (0.00 sec)

更新時間:2019 年 7 月 30 日

370 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.