首页 > 文章列表 > MySQL中如何存储小数?

MySQL中如何存储小数?

187 2023-09-02

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