MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
的精确数学舍入圆的()
函数和用于向具有精确值类型的列中插入(小数
和整数)。
的圆的()
函数的舍入取决于它的参数是精确的还是近似的:
下面的例子显示了舍入对精确值和近似值的区别:
SELECT ROUND(2.5), ROUND(25E-1);+------------+--------------+ | (25 e 1(2.5) |轮 ) | +------------+--------------+ | 3 | 2 | +------------+--------------+
插入到小数
或整数列,目标是精确的数据类型,因此四舍五入使用”离零四舍五入,”无论要插入的值是精确的还是近似的:
mysql>创建TABLE (d DECIMAL(10,0));INSERT INTO t VALUES(2.5),(2.5 e0);查询OK, 2行影响,2警告(0.00秒)记录:2副本:0警告:2 mysql> SHOW warnings;+-------+------+----------------------------------------+ | 水平| |消息代码 | +-------+------+----------------------------------------+ | 注意| 1265 |数据截断列在第一行' d ' | | 1265 | |注意数据截断' d '行2列 | +-------+------+----------------------------------------+ 2行(0.00秒)mysql >选择从t d;+------+ | d | +------+ | 3 | | 3 | +------+ 2行集(0.00秒)
的显示警告
语句显示由于小数部分四舍五入而截断所生成的注释。这样的截断不是错误,即使在严格的SQL模式下(参见第12.25.3节,“表达式处理”).