将 MySQL DECIMAL 设置为逗号后 10 位的精度?
mysqlmysqli database
如您所知,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)
现在您可以使用插入命令在表中插入一些记录。插入记录的查询如下:
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)