mysql 隐式类型转换_date_range函数

mysql 隐式类型转换_date_range函数一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。1、表DDL2、传int的sql3、传字符串的sql仔细看下表结构,rid的字段类型:而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。把输入改成字符串类型,执行计划如下,这样就会很快了。此外,还需要注意的是:数字类型的0001等价于1字符串的0001和1不等价二、如果表定义的是int字段,传入的是字符串…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。

1、表DDL

6125e14bb9764760c2944cfbbf80171f.png

2、传int的sql

bbf3523a3505211a9e557656d9ef321c.png

image2016-5-27%2016%3A10%3A11.png?version=1&modificationDate=1464336605000&api=v2

3、传字符串的sql

cd81b7c2268ce19006f417122cd70418.png

仔细看下表结构,rid的字段类型:

3e5ca99921b6af79111826109940859c.png

而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。

把输入改成字符串类型,执行计划如下,这样就会很快了。

此外,还需要注意的是:

数字类型的0001等价于1

字符串的0001和1不等价

二、如果表定义的是int字段,传入的是字符串,在不超过int范围内,不会发生隐式转换,如果超出范围并且比较大小(以字符串类型比较‘$‘)会隐式转换。

1、表DDL

2d1109afdc6a06b2bd191245872a0735.png

2、不超范围传字符串的sql

7d036f582b330c510ffe1820b4f2705c.png

3、不超范围传数字的sql

8ab5d07d3d10fa8b2d767fa5f3f789e4.png

4、超出范围传字符串的sql

1be4178e1cf85c31d0dc9ae63ac9fedc.png

687668f47ff4d6b7a0e0dc9b93bbc5f6.png

5、超出范围传数字的sql

1789fb98784fd3e3aa47caefc6801cbb.png

8c135420eeea197f4a87985e3ccbc835.png

关于MySQL隐式转换

标签:nload   隐式转换   就会   ddl   技术分享   mod   png   类型   注意

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/Jason-Born/p/6489863.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183197.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号