`
gaopengxiang417
  • 浏览: 21604 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

mysql数据库5.1.48的bug

阅读更多

近日在同事发现一个mysql关于int和bigint进行值比较问题,和大家分享下:
我们在mysql(5.1.48)中建立一张表,表名为intbig,包含三个字段id(int),num(int),num2(bigint),初始化4行数据,每行数据的值分别是:
<image001.jpg>
现在,我们分别执行如下SQL语句:

1. SELECT * FROM intbig WHERE num >= 2.1
<image002.jpg>
2. SELECT * FROM intbig WHERE num2 >= 2.1
<image003.jpg>
3. SELECT * FROM intbig WHERE num2 >= 2.5
<image002.jpg>

我们可以看到,使用int类型,符合正常思维逻辑,只查出了3,4的记录
但是使用bigint,对查询条件进行了四舍五入,2.1和2.5分别返回了不同的结果。

咨询了DBA,我们发现在mysql进行值比较的时候
int:使用decimal类型比较(支持浮点数的比较)
Arg_comparator::compare_decimal
Arg_comparator::compare_decimal (this=0x121cc2b8) at item_cmpfunc.cc:1378
1378 int Arg_comparator::compare_decimal()

bigint:使用int类型比较
Arg_comparator::compare_int_signed
Arg_comparator::compare_int_signed (this=0x121cc2b8) at item_cmpfunc.cc:1457
1457 int Arg_comparator::compare_int_signed()

分享到:
评论

相关推荐

    MySql5.1.48免安装版[Windows版本]

    MySQL 5.1.48 是一个非常受欢迎的开源关系型数据库管理系统,它在 Windows 操作系统上的使用广泛。这个版本是特别优化过的免安装版,由原版 MySQL 官方软件精简而来,旨在提供一种快速部署和使用的途径,减少了安装...

    mysql-connector-java-5.1.48 (1).jar

    总的来说,"mysql-connector-java-5.1.48 (1).jar"是Java开发者与MySQL数据库交互的关键组件,通过它可以轻松地在Java应用程序中实现数据的存取、更新和查询,从而发挥Java的跨平台优势和MySQL的高性能特性。...

    mysql-connector-java-5.1.48.zip

    总的来说,MySQL Connector/J 5.1.48是Java开发者连接MySQL数据库的重要工具,它的使用涵盖了数据库连接、SQL执行、结果集处理等多个方面,是构建Java数据库应用不可或缺的一部分。通过理解和掌握这个驱动的工作原理...

    MySql 5.1.48 Linux免安装版本

    MySql 5.1.48 Linux 免安装版本,在Red Hat 5 Enterprise下编译提取。使用方法http://blog.csdn.net/xqandpan/archive/2010/06/28/5698760.aspx

    mysql 5.1.48 免安装版

    MySQL 5.1.48 是一个非常受欢迎的关系型数据库管理系统(RDBMS)的早期版本,由Oracle公司提供。这个“免安装版”意味着它不是通过标准的安装程序进行安装,而是通过下载一个压缩包文件,然后手动解压到指定位置并...

    mysql-connector-java-5.1.48.jar

    MySQL的JDBC驱动包“mysql-connector-java-5.1.48.jar”是用于Java应用程序连接MySQL数据库的重要组件。JDBC(Java Database Connectivity)是Java平台中的标准接口,允许Java程序与各种数据库进行交互。MySQL是广泛...

    mysql java JDBC 导入资源包mysql-connector-java-5.1.48

    在Java开发环境中,为了连接MySQL数据库,需要一个特定的驱动程序,即MySQL的JDBC驱动程序,这就是"mysql-connector-java-5.1.48"资源包的作用。 **JDBC(Java Database Connectivity)**: JDBC是Java中用于与各种...

    Jmeter连接mysql数据库jar包mysql-connector-java-5.1.48-bin.zip

    本篇将详细讲解如何使用JMeter连接MySQL数据库,以及涉及的关键知识点。 首先,我们需要理解JMeter的工作原理。JMeter是通过添加各种组件(如采样器、监听器、断言等)来构造测试计划的。对于数据库连接,我们需要...

    mysql-connector-java-5.1.48.tar.gz

    MySQL Connector/J是MySQL数据库...总体来说,"mysql-connector-java-5.1.48.tar.gz"文件是开发Java应用与MySQL数据库交互的重要工具,它的存在使得Java开发者能利用强大的JDBC API轻松实现对MySQL数据库的各种操作。

    mysql jdbc 驱动 适用于5.7及以上版本数据库

    mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上...

    mysql-5.1.48-win32.msi安装详细图解.docx

    MySQL是一个流行的开源关系型数据库管理系统,其5.1.48版本针对Windows操作系统提供了msi安装包。以下是安装MySQL 5.1.48-win32的详细步骤: 1. **启动安装程序**:首先,你需要双击下载到本地的`mysql-5.1.48-win...

    mysql-connector-java-5.1.48-bin.jar

    mysql-connector-java-5.1.48-bin用于连接mysql数据库

    mysql-5.1.48-win32.msi安装详细图解.doc

    ### MySQL 5.1.48 Windows 32位版安装详细步骤 #### 一、启动安装程序 1. **启动安装程序**:首先,双击下载好的安装包`mysql-5.1.48-win32.msi`来启动MySQL安装向导。 #### 二、初始化安装向导 2. **点击Next**:...

    mysql-connector-java-5.1.48-bin.zip

    总之,MySQL Connector/J 5.1.48是Java开发者与MySQL数据库交互的重要工具,通过遵循JDBC标准,它简化了数据库操作,使开发者能够专注于业务逻辑,而不是底层的数据库访问细节。在实际项目中,正确使用和配置这个...

    mysql5.1.0到5.1.48的jar.zip

    这个压缩包“mysql5.1.0到5.1.48的jar.zip”包含了MySQL的Java Archive(JAR)文件,这些文件覆盖了从版本5.1.0到5.1.48的所有更新。JAR文件是Java平台上的一个归档格式,用于打包多个类文件和其他资源,使得它们...

    mysql安装软件(5.6版本)mysql5.6+navicat+jdbc5.1.48.rar

    JDBC 5.1.48是针对Java SE 7的一个版本,它提供了连接MySQL数据库的能力,使得Java开发者能够通过编写Java代码来操作MySQL数据库。此版本的JDBC驱动兼容MySQL 5.6,可以实现数据的增删改查,执行复杂SQL语句,以及...

Global site tag (gtag.js) - Google Analytics