一、问题来源

数据库一张表的主键id设为了自增,那就是int型的,但是其他表的关联字段又设置成了字符串!

而且已经开发了很久才发现问题,既然出现了问题肯定需要解决

如图

很明显id是不一样的,花了点时间查找相关资料

mysql的查询机制 ,当两边的类型不一致时会有隐式转型(当然这个是不靠谱的),会自动从左往右第一个字母开始转为0相加,

于是这条sql就变成了

select  * from tb_line_new WHERE  id = 9+0+0+0+0+0、、、、、;

二、网上很多人指出了问题 ,但是没有给出解决方案,这很可耻,也很浪费别人的时间,特别鄙视那些、、、、、、

mysql存在两个转型的函数

CAST(字段名  as  需要转换的类型 )

CONVERT(字段名,需要转换的类型)。

支持转型的类型:

二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

再次查询结果正常

mysql转换类型、类型转换、查询结果类型转换的更多相关文章

  1. Mysql 字段类型与查询类型不一致导致索引使用失败

    今天优化数据库的慢查询,有一条Sql让我百思不得其jie,就是他了. SELECT * FROM test WHERE user_id=1; 用explain 去分析一下 索引都有了,为什么还要扫描全 ...

  2. mysql转换类型

    今天遇到一个问题,那就是当时一个项目设计表的时候,把时间以20160101123596这样的形式,以varchar存到了数据库里. 今天要写一条sql,查询一个报表,条件就是要过滤这个时间,但是var ...

  3. java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符

    1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...

  4. Kotlin基本语法笔记2之类型检测及自动类型转换、循环

    类型检测及自动类型转换 is运算符用于检测一个表达式是否为某类型的一个实例检测出为某类型后,检测后的分支中可以直接当作该类型使用,无需显示转换 fun getStringLength(obj: Any ...

  5. js字符串转换为数字的三种方法。(转换函数)(强制类型转换)(利用js变量弱类型转换)

    js字符串转换为数字的三种方法.(转换函数)(强制类型转换)(利用js变量弱类型转换) 一.总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Num ...

  6. java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换

    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换 一.字符串与其他类型连接 public class DemoString{ public static void mai ...

  7. mysql查询优化之四:优化特定类型的查询

    本文将介绍如何优化特定类型的查询. 1.优化count()查询count()聚合函数,以及如何优化使用了该函数的查询,很可能是mysql中最容易被误解的前10个话题之一 count() 是一个特殊的函 ...

  8. MySQL double 类型查询不准确的问题

    问题 有如下查询: SELECT * FROM <table-name> WHERE price > 32.99; 结果竟然包含了 32.99 的数据行. 原因 price 的类型是 ...

  9. mysql时间类型和格式转换

    内容目录 简介mysql时间类型DATE_FORMAT()函数 简介 今天开发中,做一个功能需要对历史数据进行补充,相信大家也遇到过这样的情况,这个历史数据需要按月份和人的id进行区分,于是想到了my ...

  10. Mysql:bit类型的查询与插入

    原文链接:https://www.cnblogs.com/cuizhf/archive/2013/05/17/3083988.html Mysql关于bit类型的用法: 官方的资料如下: 9.1.5. ...

随机推荐

  1. 巅峰对话在线研讨 Q&A:Oracle Database 21c vs openGauss 2.0新特性解读和架构演进

    2021年11月11日,墨天轮<巅峰对话>栏目邀请到了两位数据库领域的巅峰人物:云和恩墨创始人盖国强老师,和来自清华大学计算机与技术系的李国良教授,为大家带来了在线研讨<Oracle ...

  2. iOS开发中UITextView使用小结

    最近项目开发中用到了多行文本框限制文字输入个数限制,之前的话在textViewDidChange方法中截取超出字数就可以.测试人员发现在拼音转汉字的过程中,YYTextView不会二次确认textVi ...

  3. axios有没有做过⼀些业务封装?

    啊,有的,在项⽬⾥⾯我主要是封装过axios的拦截器部分 我在请求拦截器⾥⾯做了注⼊全局token的事情,这个事⼉是因为有很多接⼝都需要这个token来做数据 鉴权,为了避免书写多次 统⼀配置了⼀下 ...

  4. GDOI绝望记——人生第一次省选普及

    时光匆匆,如白驹过隙. 转眼之间,我一在OI之路上走了2年半了.. 岁月不饶人,我却在不经意间饶了岁月. 自己到底是不是不如别人,这,是取决于自己的心态吧 Preface 人生中第一次去深圳(应该是吧 ...

  5. day16-break,continue,goto

    break,continue,goto break在任何循环语句的主体部分,均可用break控制循环的流程.break用于强行退出循环,不执行循环中剩余的语句.(break语句也在switch选择语句 ...

  6. R语言经典统计分析

    经典统计分析包括了许多常用的统计方法和技术,用于数据的描述.推断和建模.本节将介绍经典统计分析方法(包括t检验.方差分析.卡方检验.线性回归)在R语言中的实现. 5.1.1  t检验 样本均值(sam ...

  7. 学习JavaScript第二天

    文章目录 1.运算符(操作符) 1.1运算符的分类 1.2算数运算符 1.3递增和递减运算符 1.4比较运算符 1.5逻辑运算符 2.选择结构 2.1if语句 2.1.1语法 2.1.2案例1:判断闰 ...

  8. lua获取请求参数以及在nginx.conf中使用

    -- 获取请求路径 local request_uri = ngx.var.request_uri -- 从 header中取值 local token = ngx.req.get_headers() ...

  9. 软件逆向之IDA Pro

    IDA Pro作为一款强大的逆向分析工具,对于软件开发和安全领域的专业人士来说是必不可少的. 1. 什么是逆向分析 逆向分析是指通过分析已有的软件或程序,推测出其内部运行机制.算法和逻辑等信息.通过逆 ...

  10. vue之vuex使用

    如图所示,它是一个程序里面的状态管理模式,它是集中式存储所有组件的状态的小仓库,并且保持我们存储的状态以一种可以预测的方式发生变化.对于可以预测,现在我不多做说明,相信在看完这篇文章之后,你就会有自己 ...