我应该将 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 次查看

启动您的职业生涯

完成课程获得认证

开始
广告