mysql - DECIMAL类型舍入额外的小数并且不截断mysql

标签 mysql database types decimal rounding

DECIMAL类型应该代表“精确”,但它对数字进行四舍五入,例如:

CREATE TABLE `foo`(p1 DECIMAL(5,2));

INSERT INTO `foo` VALUES (587.487);

SELECT * FROM `foo`;

它存储 587.49 而不是 587.48 这是“精确”截断值,我如何以正确的十进制方式存储该值,我需要“精确”未四舍五入

P.S:我使用的是严格模式

最佳答案

试试这个

CREATE TABLE `foo`(p1 DECIMAL(5,2));

INSERT INTO `foo` VALUES (truncate(587.487,2));

SELECT * FROM `foo`;

检查SQL Fiddle

关于mysql - DECIMAL类型舍入额外的小数并且不截断mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24484458/

相关文章:

c - 如果字 rune 字始终是 int 类型,为什么在 C 中我们有 char 类型? C 中的整个 char 类型不是多余的吗?

types - 解释器和静态类型检查

c - C 中的指针何时计算出它引用的内存量?

mysql - 数据库摆脱重复属性

mysql - 使用 group_concat 对包含子查询的查询进行排序非常慢

php - MySQL单个auto_increment用于两个表不重复的更好的解决方案

mysql - 我可以在 xampp 和 mamp (mac amp) 之间共享相同的 mysql 数据库吗?

java - 8位随机码

php - 使用 PHP MySQL 创建动态页面时的空白页面

php - 在不给服务器施加压力的情况下获取 MySQL 数据