我應該將 PRICE 欄位儲存為資料庫中的 int 還是 float?


您不需要將 PRICE 欄位儲存為資料庫中的 int 或 float。為此,您可以設定 DECIMAL()。

大多數情況下,可以使用整數來表示浮點數,這些整數會在內部轉換為 DECIMAL() 資料型別。因此,如果您的欄位是 PRICE,則始終使用 DECIMAL() 資料型別。語法如下:

DECIMAL(M,D);

這裡,M 代表“總位數”,D 代表“小數點後位數”。

為了理解上述概念,讓我們建立一個 PRICE 欄位為 DECIMAL 資料型別的表。查詢如下:

mysql> create table Decimal_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> PRICE DECIMAL(18,2),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.63 sec)

使用 insert 命令在表中插入一些記錄。查詢如下:

mysql> insert into Decimal_Demo(PRICE) values(99999999999999.99);
Query OK, 1 row affected (0.11 sec)
mysql> insert into Decimal_Demo(PRICE) values(10000000000000.99);
Query OK, 1 row affected (0.36 sec)

現在,您可以使用 select 語句顯示錶中的所有記錄。查詢如下:

mysql> select *from Decimal_Demo;

以下是輸出:

+----+-------------------+
| Id | PRICE             |
+----+-------------------+
|  1 | 99999999999999.99 |
|  2 | 10000000000000.99 |
+----+-------------------+
2 rows in set (0.00 sec)

更新於:2019年7月30日

709 次檢視

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.