zoukankan      html  css  js  c++  java
  • MySQL DataType--当整数列遇到小数

    初始化数据:

    ## 创建测试表
    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,'1428';
    insert into tb002(c2,c3) select 1429,'1429';
    insert into tb002(c2,c3) select 1430,'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事务隔离级别)

  • 相关阅读:
    5.21 CSS样式表练习
    5.20 c#验证码练习
    5.20 邮箱注册,及网页嵌套,知识点复习
    5.19 网页注册练习
    5.19练习标签及其 定义
    5.16 兔子生兔子,日期时间练习
    5.15 复习;共5题
    5.11 集合 与 特殊集合
    5.11 集合与特殊集合
    WinForm1
  • 原文地址:https://www.cnblogs.com/gaogao67/p/11010412.html
Copyright © 2011-2022 走看看