我应该将 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)
广告