要在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)