如何在 MySQL 中存储小数?
mysqlmysqli database
要在 MySQL 中存储小数,您需要了解两个参数。语法如下 −
DECIMAL(yourTotalDigit,yourDigitsAfterDecimalPoint);
例如 −
DECIMAL(4,2),表示您可以取总计 4 位数字,小数点后 2 位数字。
第一个参数小数点前最多 2 位
第二个参数小数点后最多 2 位数字。
- 情况 1 − 12.34 有效。
- 情况 2 − 123.4 无效。
- 案例 3 − 1.234 有效,因为值 4 将被忽略,并将被视为 1.23
现在您可以使用表格进行检查 −
mysql> create table DecimalDemo -> ( -> Amount DECIMAL(4,2) -> ); Query OK, 0 rows affected (0.47 sec)
我们的示例 Decimal(4,2) 的无效值如下 −
mysql> insert into DecimalDemo values(123.4); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1 mysql> insert into DecimalDemo values(1234); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1 mysql> insert into DecimalDemo values(1234.56); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1
有效值如下 −
mysql> insert into DecimalDemo values(12.34); Query OK, 1 row affected (0.13 sec) mysql> insert into DecimalDemo values(12.4); Query OK, 1 row affected (0.18 sec) mysql> insert into DecimalDemo values(.2345); Query OK, 1 row affected, 1 warning (0.18 sec) mysql> insert into DecimalDemo values(1.234); Query OK, 1 row affected, 1 warning (0.16 sec)
使用 select 语句显示表中的所有有效值。查询如下 −
mysql> select *from DecimalDemo;
输出
+--------+ | Amount | +--------+ | 12.34 | | 12.40 | | 0.23 | | 1.23 | +--------+ 4 rows in set (0.00 sec)