MySQL在插入数据库时​​更改decimal(19, 2)的值

标签 mysql decimal precision

我创建了表格,如下所示:

create table sample_tbl
(
    decimal_column decimal(19,2) null
);

现在,当我使用简单的插入命令插入到该表中时:

insert into sample_tbl values (18.939);

MySQL将其存储为18.94,我应该如何解决这个问题?我想存储实际值:18.93

最佳答案

您插入的值已正确舍入为 18.94
您想要的是将值截断为小数点后两位,因此请使用函数 truncate() :

insert into sample_tbl values (truncate(18.939, 2));

关于MySQL在插入数据库时​​更改decimal(19, 2)的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61007398/

相关文章:

php - 如何在 PHP 类中声明静态变量但在扩展基类的类中定义它?

mysql 使用组合列进行选择

regex - sed 将数字四舍五入到两位小数

javascript - 0.5时向上或向下舍入

c++ - 在 C/C++ 中可以用 float 准确表示的最大 uint64

c# - 浮点运算 - Double 类型的模运算符

mysql - 在 MySQL 中,如何使用连接表中的单行来过滤掉 GROUP_CONCAT 中不需要的日期?

python - 如何在python mysql中循环获取数据

javascript - 十进制正则表达式和空字符串

c# - 基于 C# 中出生日期的简单年龄计算器