表employees中字段 taxes(税率)用类型float存储

hive> select name, salary, taxes from employees where taxes  > 0.2

john    5300.0    0.2

marry  9500.0   0.2

jack     15000.0 0.3

产生如上结果原因为:

a) 对于所有使用IEEE标准进行浮点编码系统中,都普遍存在如下问题,并不仅仅是hive,Java,还有很多

b) 0.2在hive中默认使用double 8字节,对应真实结果为 0.200000000001

c) taxex中作为float存储那么0.2对应真实结果为 0.2000001

d) 因此对上面查询必然会出现 float类型的0.2大于 double类型的 0.2因此出现 jon marry的查询结果。

对如上修改方式如下:

a) 修改employees表字段taxes为string,然后比较时用 where taxes  > '0.2'

b) 修改employees表字段taxes为double,然后比较时依旧用 where taxes  > 0.2

c) 表employees不做修改,查询时使用  where taxes  > cast(0.2 as  float)

最新文章

  1. KnockoutJS 3.X API 第六章 组件(3) 组件绑定
  2. IOS开发基础知识--碎片11
  3. keil 怎样新建工程,编写代码?
  4. [中英双语] 数学缩写列表 (List of mathematical abbreviations)
  5. Java 9.10习题
  6. 分享一个刷网页PV的python小脚本
  7. Clean Code第二章<命名>
  8. Android开发笔记一(hello world)
  9. centos 安装php ide (eclipse + php 插件)
  10. android之listView定位到指定行同时隐藏输入键盘
  11. (转)精通 JS正则表达式
  12. ORACLE模拟一个数据文件坏块并使用RMAN备份来恢复
  13. !!!!!安卓界面总是显示载入进度条的问题,没事别乱用ListFragment
  14. tomcat 修改网站路径(Java之负基础实战)
  15. Java并发编程面试题 Top 50 整理版
  16. MongoDB配置简明文档
  17. 支持flash in Chrome 2017
  18. (转)如何修改maven的默认jdk版本
  19. es手动创建索引,修改索引,删除索引
  20. 力扣(LeetCode) 14. 最长公共前缀

热门文章

  1. idea中使用maven
  2. 解决vue-router中this.$router.push无法在新窗口中打开
  3. SSH框架——(二)四层结构:DAO,Service,Controller,View层
  4. idea教程视频以及常用插件整理
  5. HDU 1009 FatMouse' Trade(简单贪心 物品可分割的背包问题)
  6. JAVA数据类型能串门不?
  7. RAC Cache Fusion Background Processes
  8. redux-saga框架使用详解及Demo教程
  9. foreach传值
  10. Spring Security学习笔记(一)