MYSQL的varchar与数值举例分析

本篇内容主要讲解“MySQL的varchar与数值举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL的varchar与数值举例分析”吧!

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、埇桥区网络推广、微信小程序定制开发、埇桥区网络营销、埇桥区企业策划、埇桥区品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供埇桥区建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

事件起源

好了来说具体场景,被同事叫去看一个奇怪的SQL。SQL语句很简单,大概就是查询某些字段有一些查询条件而已。其中比较重要的一个条件就是 「where xx!=0」。说是很奇怪,为什么!=0就查询到的结果就是10条。但是!=1 查询出来的结果就是100条。

SELECT A,B,C FROM TABLE WHERE A!=0
res:10 
SELECT A,B,C FROM TABLE WHERE A!=0
res:100
 

下面我们简单的来几条数据看一下状况。

状况复现

「所有数据」

MYSQL的varchar与数值举例分析  

「!=0」

MYSQL的varchar与数值举例分析  

当时就是直接拿到了这样的结果。 

分析状况

当时看到这个问题之后我也很惊奇,不等于0 不应该把所有的数据都拿到么。为什么会出现这样的情况呢?

简单考虑了一下,字段的类型为 varchar型,而查询条件给予的是个数值型,那么问题应该就是出现在这里。

数据库在基于查询条件进行检索的时候会如何进行操作呢?
答案就是转换成相同的类型。

那么对于这次的问题是字段转换成int类型还是int转换成varchar类型呢?其实简单的看查询结果就知道了。如果查询条件‘0’转换成了varchar那么就应该获取到全部的数据。但是现在的状况是获取到的数据不够。那结论就是数据库把要查询的字段转换成了数值型。
那么我们把app字段进行转换一下试试。

MYSQL的varchar与数值举例分析  

从结果上我们可以看到 app 转换之后的结果只有 0123asfj 转换成了123,其他都是0。所以在查询条件为 ‘!=0’ 的时候就只能查询到一条结果。

到此,相信大家对“MYSQL的varchar与数值举例分析”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

标题名称:MYSQL的varchar与数值举例分析
标题链接:https://www.cdcxhl.com/article14/ishhge.html

成都网站建设公司_创新互联,为您提供外贸建站关键词优化全网营销推广域名注册网站设计商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管