您的位置:首页 > 数据库 > MySQL

关于MySQL隐式转换

2016-09-02 15:26 211 查看
一、如果表定义的是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 关于 隐式转换