论坛首页 综合技术论坛

mysql的奇怪问题,求科普

浏览 4240 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-10-29   最后修改:2014-10-29

引擎是InnoDB,select用in来匹配结果,想当然应该是精确匹配才对啊,结果如下,求大大科普:


这个是用like时的正常结果:
 

 

用in则是这样:


 

该字段是varchar,加单引号当成字符串就正常,写成数字就出现这个问题,试了下当2后面第一位是字母就都会查出来,是数字就没事,怀疑是编码问题,求科普
 

  • 大小: 20.9 KB
  • 大小: 8.9 KB
   发表时间:2014-11-08  
你in里面用的数字,字段里的值会先转换成数字再和2进行比较。字母后面的值会被忽略掉。
0 请登录后投票
   发表时间:2014-11-14  
<img src=""></>
0 请登录后投票
   发表时间:2014-11-14  
</div>
     
     
      <img src=""></>
   
0 请登录后投票
   发表时间:2014-11-14  
"</div><img src=""></>
0 请登录后投票
   发表时间:2014-12-01  
in  or like difference!!!
0 请登录后投票
   发表时间:2015-02-03  
<img src=""></>
0 请登录后投票
   发表时间:2015-02-05  
顶起  学习  
0 请登录后投票
   发表时间:2015-05-28  
不太明白
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics