首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL之ROUND函数四舍五入陷阱

MySQL,ROUND函数用于对查询结果进行四舍五入,不过最近使用ROUND函数四舍五入时意外发现并没有预期那样,本文将这一问题记录下来,以免大家跟我一样犯同样错误。...1.005, 3.5, 2.5); 插入之后表数据是这样 mysql> select * from test; +----+--------+--------+--------+--------...没办法,还得靠自己,这个时候最有用就是官网文档了,于是查询了mysql官方文档关于ROUND函数部分,其中包含下面两条规则 For exact-value numbers, ROUND() uses...(对于近似值,则依赖于底层C函数库,在很多系统ROUND函数会使用“取最近偶数”规则) 通过这两条规则,我们可以看出,由于我们在使用两个字段相乘时候,最终结果是按照float类型处理,而在计算机...总结 从这个例子可以看到,在MySQL中使用ROUND还是要非常需要注意,特别是当参与计算字段包含浮点数时候,这个时候计算结果是不准确

77120

MySQL之ROUND函数四舍五入陷阱

[FullSizeRender 2] TOC 在MySQL,ROUND函数用于对查询结果进行四舍五入,不过最近使用ROUND函数四舍五入时意外发现并没有预期那样,本文将这一问题记录下来,以免大家跟我一样犯同样错误...1.005, 3.5, 2.5); 插入之后表数据是这样 mysql> select * from test; +----+--------+--------+--------+--------...没办法,还得靠自己,这个时候最有用就是官网文档了,于是查询了mysql官方文档关于ROUND函数部分,其中包含下面两条规则 For exact-value numbers, ROUND() uses...(对于近似值,则依赖于底层C函数库,在很多系统ROUND函数会使用“取最近偶数”规则) 通过这两条规则,我们可以看出,由于我们在使用两个字段相乘时候,最终结果是按照float类型处理,而在计算机...总结 从这个例子可以看到,在MySQL中使用ROUND还是要非常需要注意,特别是当参与计算字段包含浮点数时候,这个时候计算结果是不准确

1.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

java四舍五入函数用法

大家好,又见面了,我是你们朋友全栈君。...本文内容 介绍java四舍五入函数用法 1.Math.ceil() 2.Math.floor() 3.Math.round() 1.Math.ceil() 向上舍入,将数值向上舍入为最接近整数;如...3.4舍入为4.0,3.6也舍入为4.0 2.Math.floor() 向下舍入,将数值向下舍入为最接近整数;如3.4舍入为3.0,3.6舍入为3.0 3.Math.round()...执行标准舍入,将数值四舍五入为最接近整数,即我们平时使用方法,如3.4舍入为3,3.5、3.6舍入为4 最后 可以关注一下我公众号,最近开始写公众号,我会在上面分享一些资源和发布一些csdn...上发布不了干货 点个关注是对博主最大支持 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143512.html原文链接:https://javaforall.cn

1.4K20

Java四舍五入

大概在小学时候我们就学过四舍五入, 不过在编程语言中这个概念跟我们所熟悉算法有点出入。 如果面试中考察你对Math.round()用法,不知道能不能准确答上来?...Math取整 Math中用比较多取整方法有三个 · Math.round · Math.floor · Math.ceil 一个个来举例子, int a = Math.round(22.4) int...如果和你计算结果不一样的话,这里只要记住一个计算规则就可以, Math.round(value)结果等于 value + 0.5 然后向左取整 向左取整意思是向数轴上靠左数取整,也有说法叫向下取整...floor 和 ceil 其实这两个最容易记住, floor是地板意思,ceil则是天花板, 也就是说在计算过程, floor取是不大于它最大整数, ceil取是不小于它最小整数。...继续搬出数轴,floor就是取所计算值左边最近那个整数, ceil就是右边最近那个。 简单吧?

83320

Python 四舍五入函数 round

小数位四舍五入在项目中经常用到。 你可能有注意到 round 函数不能真正做到四舍五入。 round() 函数作用就是,返回浮点数x四舍五入值。...round( x [, n] ) 简单来说就是在浮点运算时候丢精度。...这个与计算机系统设计是有关系,计算机是使用 2 进制进行计算,如果我们常用数学计算或者科学计算,计算机是会丢精度。...因此我们解决方案其实非常简单就是使用 Decimal 来进行数学计算。 浮点计算丢精度问题不仅仅是 Python 会遇到问题,Java 、 C/C++ 都会遇到这个问题。...例如在 Java ,我们会使用 BigDecimal 进行精确科学计算。 https://www.ossez.com/t/python-round/133

94540

mysql条件函数

——周国平《风中纸屑》 在我们日常开发,有时可能会在SQL写一些条件,例如这里一个例子 这里有这样一张表,数据如下: 如果我们需要把未认证(状态为NOT_AUTH)用户放到前面排序显示,在不影响分页情况下...我们可以这么写 SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC 这里使用到了MYSQL...IF函数 IF([条件],[为true时值],[为false时值]) 例如我们需要整体排序,认证在最前,然后是未认证,最后是已认证 我们则可以使用MYSQLCASE、WHEN、THEN、ELSE...[条件1满足时值] WHEN [条件2] THEN [条件2满足时值] WHEN [条件3] THEN [条件3满足时值] ELSE [条件都不满足时值] END Tips:在除了查询语句中,其余操作SQL...都可以用该函数哦 这就是今天博客内容啦!

3.4K10

mysql json函数使用

mysqljson函数: 方法 函数 描述 补充 创建json json_array 创建json数组 json_object 创建json对象 json_quote 将json转成json字符串类型...,MySQL 5.7.9开始支持 json_keys 提取json键值为json数组 json_search 按给定字符串关键字搜索json,返回匹配路径 修改json json_append...废弃 MySQL 5.7.9开始改名为json_array_append json_array_append 末尾添加数组元素,如果原有值是数值或json对 象,则转成数组后,再添加元素 json_array_insert...替换值(只替换已经存在旧值) json_set 设置值(替换旧值,并插入不存在新值) json_unquote 去除json字符串引号,将值转成string类型 返回json属性 json_depth...返回json文档最大深度 json_length 返回json文档长度 json_type 返回json值得类型 json_valid 判断是否为合法json文档

3.1K10

mysqlcount()函数用法

数量查询时,有如下几种方式: 1.下面三种方式,在多数情况下效率是基本相同,但问题在于,很多情况下,我们数据库可能有脏数据,比如重复数据,或者某条数据重要字段是null,那下面的这几种,会把这种脏数据也统计上...如果某条记录user_name是空呢?那下面三种写法,出现结果就完全不同了: 这是查询这张表总行数,重复和null都算进去。...select count(*) from `user` 这是查询这张表user_name不为空行数。...select count(user_name) from `user` 这是查询这张表,user_name有多少不重复行,null也会被统计为一行。...select count(distinct(user_name)) from `user` 以上数据,是在mysql数据库,100万条数据,200万条数据,和300万条数据下做出验证

3.4K20

MySQL datetime 时间字段四舍五入

前言 如果不是踩到坑,我估计到现在还不知道时间字段会四舍五入。 1 背景 通过 Java 代码获取当日最大时间,然后存入数据库,数据库表字段格式 datetime 保留 0 位。...now.with(LocalTime.MAX) 小小一行代码,获取今天最大日期。 到数据库一看,好家伙,竟然存了第二天时间。 看着样子是四舍五入了!...直接使用 SQL 试一试: 这…… 果然是四舍五入了。 换成 MariaDB 试试!...docker pull mariadb docker run -d --name mariadb -p 33306:33306 -e "MYSQL_ROOT_PASSWORD=root" mariadb...3 结论 MySQL 时间如果传入值超过精度范围,会进行四舍五入。 MariaDB 时间如果传入值超过精度范围,会直接舍弃。 踩了个小坑。最后还是硬编码吧!

1.8K20

mysqlinstr()函数用法

想要在字符串查找某字符串可以使用instr()函数 instr()返回子字符串在字符串首次出现位置;如果没有找到,则返回0 用法: instr(str,substr) str:从哪个字符串搜索...substr:要搜索子字符串 instr()函数不区分大小写 mysql instr()函数示例: 如图,在abcd字符串查找是否含有字符串b,返回字符串位置是2....说明instr()函数返回位置是从1开始,如果找不到则返回0 ? 查找字符串包含“民”记录 ?...instr()函数与like运算符 在没有索引情况下,instr()函数与like运算符速度是一样;在具有前缀搜索LIKE运算符下,使用like运算符速度会更快一些 参考:https://blog.csdn.net

2.3K20
领券