首页 > 代码库 > 关于MySQL隐式转换
关于MySQL隐式转换
一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。
1、表DDL
2、传int的sql
3、传字符串的sql
仔细看下表结构,rid的字段类型:
而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。
把输入改成字符串类型,执行计划如下,这样就会很快了。
此外,还需要注意的是:
数字类型的0001等价于1
字符串的0001和1不等价
二、如果表定义的是int字段,传入的是字符串,在不超过int范围内,不会发生隐式转换,如果超出范围并且比较大小(以字符串类型比较‘$‘)会隐式转换。
1、表DDL
2、不超范围传字符串的sql
3、不超范围传数字的sql
4、超出范围传字符串的sql
5、超出范围传数字的sql
关于MySQL隐式转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。