mysql的奇怪问题,求科普

chnlslc 2014-10-29 02:45:51
引擎是InnoDB,select用in来匹配结果,想当然应该是精确匹配才对啊,结果如下,求大大科普:

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


用in则是这样:


该字段是varchar,加单引号当成字符串就正常,写成数字就出现这个问题,试了下当2后面第一位是字母就都会查出来,是数字就没事,怀疑是编码问题,求大大科普
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chnlslc 2014-10-29
  • 打赏
  • 举报
回复
版主威武
引用 2 楼 rucypli 的回复:
http://dev.mysql.com/doc/refman/5.1/en/type-conversion.html
rucypli 2014-10-29
  • 打赏
  • 举报
回复
http://dev.mysql.com/doc/refman/5.1/en/type-conversion.html
ning644368192 2014-10-29
  • 打赏
  • 举报
回复
使用 in(2) 的时候应该是把varchar类型的serial转换成整型的数字来进行查找所有转成数字的值为2的数据 你的截图中的:2c07和2P转换成数字的值就是为2,所以给查询出来,而第一张截图中的转换后的值都不是2

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧