初始化数据:

  1. ## 创建测试表
  2. CREATE TABLE `tb002` (
  3. `c1` int(11) NOT NULL AUTO_INCREMENT,
  4. `c2` int(11) DEFAULT NULL,
  5. `c3` varchar(200) DEFAULT NULL,
  6. PRIMARY KEY (`c1`),
  7. KEY `IDX_C2` (`c2`)
  8. );
  9.  
  10. ## 插入测试数据
  11. insert into tb002(c2,c3) select 1428,'';
  12. insert into tb002(c2,c3) select 1429,'';
  13. insert into tb002(c2,c3) select 1430,'';

查看当前表中数据:

  1. ## 查看表中数据
  2. SELECT * FROM tb002;
  3.  
  4. +----+------+------+
  5. | c1 | c2 | c3 |
  6. +----+------+------+
  7. | 1 | 1428 | 1428 |
  8. | 2 | 1429 | 1429 |
  9. | 3 | 1430 | 1430 |
  10. +----+------+------+

测试1:

  1. ## 测试1
  2. select * from tb002 where c2=1429.5;
  3. +----+------+------+
  4. | c1 | c2 | c3 |
  5. +----+------+------+
  6. | 3 | 1430 | 1430 |
  7. +----+------+------+
  8.  
  9. ## 测试2
  10. select * from tb002 where c2<1429.5;
  11. +----+------+------+
  12. | c1 | c2 | c3 |
  13. +----+------+------+
  14. | 1 | 1428 | 1428 |
  15. | 2 | 1429 | 1429 |
  16. +----+------+------+
  17.  
  18. ## 测试3
  19. select * from tb002 where c2<=1429.5;
  20. +----+------+------+
  21. | c1 | c2 | c3 |
  22. +----+------+------+
  23. | 1 | 1428 | 1428 |
  24. | 2 | 1429 | 1429 |
  25. +----+------+------+
  26.  
  27. ## 测试4:
  28. select * from tb002 where c2=1429.5 or c2<1429.5;
  29. +----+------+------+
  30. | c1 | c2 | c3 |
  31. +----+------+------+
  32. | 1 | 1428 | 1428 |
  33. | 2 | 1429 | 1429 |
  34. +----+------+------+
  35.  
  36. ## 测试5:
  37. select * from tb002 where c2=1429.5 union select * from tb002 where c2<1429.5;
  38. +----+------+------+
  39. | c1 | c2 | c3 |
  40. +----+------+------+
  41. | 3 | 1430 | 1430 |
  42. | 1 | 1428 | 1428 |
  43. | 2 | 1429 | 1429 |
  44. +----+------+------+

上面测试中发现:

1、where c2=1429.5 or c2<1429.5 与 where c2<=1429.5 和 where c2=1429.5查询结果相同

2、where c2<=1429.5的查询结果中不包含where c2=1429.5的查询结果

测试2:

  1. ## 查询1
  2. select * from tb002 force index(IDX_C2) where c2=1429.5;
  3. +----+------+------+
  4. | c1 | c2 | c3 |
  5. +----+------+------+
  6. | 3 | 1430 | 1430 |
  7. +----+------+------+
  8.  
  9. ## 查询2
  10. select * from tb002 force index(primary) where c2=1429.5;
  11. Empty set (0.00 sec)

上面测试中发现:

1、强制走不同索引会导致查询结果不同(两次查询过程中无任何数据变化,使用RR事务隔离级别)

MySQL DataType--当整数列遇到小数的更多相关文章

  1. mysql的时间戳timestamp精确到小数点后六位

    1.mysql的时间戳timestamp精确到小数点后六位. 公司业务使用到Greenplun数据库,根据查询的时间戳来不断的将每个时间段之间的数据,进行数据交换,但是今天发现,mysql的时间戳没有 ...

  2. 一起看看MySQL中的隐藏列

    摘要:在mysql的多版本并发控制mvcc中,我们知道mysql中存在一些隐藏列,例如行标识.事务ID.回滚指针等,不知道大家是否和我一样好奇过,要怎样才能实际地看到这些隐藏列的值呢? 本文分享自华为 ...

  3. mysql修改列名和列类型

    MySQL中修改列名或列的数据类型 (2012-04-03 08:59:25) 转载▼ 标签: mysql 修改列名 修改列数据类型 it 分类: 数据库 参考下面链接中的语法 http://dev. ...

  4. MySql给表添加列和注释

    1.给表添加列 ALTER TABLE supplier_seller ADD COLUMN company_id INT NULL COMMENT '供应主体id'; 默认情况下,添加的列会添加到最 ...

  5. 怎么重置mysql的自增列AUTO_INCREMENT初时值

    重置 MySQL 自增列 AUTO_INCREMENT 初时值 注意, 使用以下任意方法都会将现有数据删除. 方法一: delete from tb1; ALTER TABLE tbl AUTO_IN ...

  6. 关于MySQL的行转列的简单应用(二)---group函数

    MySQL的行转列.列转行.连接字符串  concat.concat_ws.group_concat函数用法使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一 ...

  7. mysql load数据第一列丢失

    mysql load数据第一列丢失 问题描述 MySQL表的结构如下: mysql> desc cms_msg_test_3; +----------------+--------------- ...

  8. CSV文件插入到mysql表中指定列

    参考资料: -CSV文件插入到mysql表中指定列

  9. mysql之行转列与列转行

    mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...

随机推荐

  1. java8之Spliterator

    基本用法: import java.util.Arrays; import java.util.Spliterator; import java.util.stream.IntStream; publ ...

  2. Oracle中如何修改已存在数据的列名的数据类型

    在oracle中,如何修改已存在数据列名的数据类型 一般人直接在表结构设计这里修改,这里只适合修改列没有数据,可修改 那么,如何这个列是有数据,是怎么修改的呢? 直接修改会Oracle错误 第一步:先 ...

  3. 解决EasyDSS、EasyNVR流媒体RTMP、HLS(m3u8)、HTTP-FLV播放提示H5播放错误的问题

    背景介绍 EasyDSS流媒体解决方案提供的是一站式的转码.点播.直播.录像.检索.时移回放服务,它的出现极大地简化了开发和集成的工作,基于其强大的后台管理能力,支持多种特性需求,完全能够满足企业视频 ...

  4. packaged_task

    /** @file packaged_task.cpp * @note * @brief * @author * @date 2019-8-15 * @note * @history * @warni ...

  5. C# .NET 支付宝IOT小程序AES密钥解密

    实际测试 KEY 是 16个 byte,byte[] byteKEY = System.Convert.FromBase64String(key);     注意:是Convert.FromBase6 ...

  6. Java高级面试题整理(附答案)

    这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...

  7. 最新 学霸君java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.学霸君等10家互联网公司的校招Offer,因为某些自身原因最终选择了学霸君.6.7月主要是做系统复习.项目复盘.LeetCo ...

  8. 15 Filter过滤器和Listener监听器

    1.Filter:过滤器 (1) 概念:生活中的过滤器:净水器,空气净化器,土匪.web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能.过滤器的作用:一般用于完成通用的 ...

  9. 解决dubbo注册zookeeper默认内网ip注册

    前端时间做新项目的时候遇到一个dubbo的一个问题,在我们项目搭建好后使用了其他同事的支付服务,支付服务架构的方式使用了dubbo服务的方式,使用zookeeper作为注册中心,我们新项目使用dubb ...

  10. String和Irreducible Polynomial(2019牛客暑期多校训练营(第七场))

    示例: 输入: 4000010010111011110 输出: 00001001 0111 01111 0 题意:给出一个只含有0和1的字符串,找出一种分割方法,使得每个分割出的字符串都是在该字符串自 ...