初始化数据:

## 创建测试表
CREATE TABLE `tb002` (
`c1` int(11) NOT NULL AUTO_INCREMENT,
`c2` int(11) DEFAULT NULL,
`c3` varchar(200) DEFAULT NULL,
PRIMARY KEY (`c1`),
KEY `IDX_C2` (`c2`)
); ## 插入测试数据
insert into tb002(c2,c3) select 1428,'';
insert into tb002(c2,c3) select 1429,'';
insert into tb002(c2,c3) select 1430,'';

查看当前表中数据:

## 查看表中数据
SELECT * FROM tb002; +----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 1 | 1428 | 1428 |
| 2 | 1429 | 1429 |
| 3 | 1430 | 1430 |
+----+------+------+

测试1:

## 测试1
select * from tb002 where c2=1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 3 | 1430 | 1430 |
+----+------+------+ ## 测试2
select * from tb002 where c2<1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 1 | 1428 | 1428 |
| 2 | 1429 | 1429 |
+----+------+------+ ## 测试3
select * from tb002 where c2<=1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 1 | 1428 | 1428 |
| 2 | 1429 | 1429 |
+----+------+------+ ## 测试4:
select * from tb002 where c2=1429.5 or c2<1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 1 | 1428 | 1428 |
| 2 | 1429 | 1429 |
+----+------+------+ ## 测试5:
select * from tb002 where c2=1429.5 union select * from tb002 where c2<1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 3 | 1430 | 1430 |
| 1 | 1428 | 1428 |
| 2 | 1429 | 1429 |
+----+------+------+

上面测试中发现:

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
select * from tb002 force index(IDX_C2) where c2=1429.5;
+----+------+------+
| c1 | c2 | c3 |
+----+------+------+
| 3 | 1430 | 1430 |
+----+------+------+ ## 查询2
select * from tb002 force index(primary) where c2=1429.5;
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. 011 @Retryable的使用

    一:概述 在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试. 为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功. 例如,由于网 ...

  2. 单例设计模式代码-bxy

    struct ConnectInfo { const QObject *sender; //发送者 const char *signal_str; //发送信号 const QObject *reci ...

  3. [LeetCode] 337. House Robber III 打家劫舍 III

    The thief has found himself a new place for his thievery again. There is only one entrance to this a ...

  4. [LeetCode] 844. Backspace String Compare 退格字符串比较

    Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...

  5. mysql 的sql_model模式

    原文地址:https://blog.csdn.net/baidu_19338587/article/details/59483954 MySQL的sql_mode合理设置 sql_mode是个很容易被 ...

  6. Postman 使用方法详细介绍

    1,下载安装: https://www.getpostman.com/apps 2,打开Postman,如图所示: 3,创建一个接口项目 4,新增接口文件 5,下面以登录接口login为例,介绍如何做 ...

  7. seaborn做横向条形图

    数据格式如下 这里选择fold值最大的前20个作图进行展示 代码如下 import seaborn as sns import pandas as pd import numpy as np impo ...

  8. Java生成菜单树(目录树)的几种方式

    本文介绍两种不同生成多级目录树的方式:1. 递归生成,2.  map+list 集合生成.最下方会附上完整代码. 生成树的基本规则:子节点的par_id等于父节点的id. 1. 实体类 import ...

  9. 18 IO流(十五)——RandomAccessFile随机访问文件及使用它进行大文件切割的方法

    本文部分内容转自:https://blog.csdn.net/nightcurtis/article/details/51384126 1.RandomAccessFile特点 RandomAcces ...

  10. 5. RDD编程进阶

    5.1 累加器 累加器用来对信息进行聚合,通常在向Spark传递函数时,比如使用map()函数或者用filter()传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的 ...