示例比较MySQL中字符串和数字
发布时间:2020-05-12 17:27:41
来源:亿速云
阅读:207
作者:三月
本文主要给大家介绍示例比较MySQL中字符串和数字,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下示例比较MySQL中字符串和数字吧。
在项目中,我们经常会用到模糊搜索,但如果错误的将字符串类型和数字类型做比较,有时搜索出来的结果就并不是我们预期的。举例如下:
mybatis中的xml语句如下:
AND (name like concat("%",#{criteria},"%") OR id = #{criteria})
搜索时我们输入“884测试”,结果会包含了id=884的记录,但是名称却没有匹配的。这就是MySQL字符串和数字比较的坑了:比较时会把字符串类型转成整数类型,从首字母开始,遇到非数字类型后终止。
举几个例子看下:SELECT "abc"=1;
结果:0SELECT "1abc"=1;
结果:1SELECT "abc"=0;
结果:1SELECT "a2bc"=2;
结果:0
那么这个问题改如何解决了,其实只需要做一个类型转换就可以了,如下:SELECT "2bc"=cast(2 as CHAR);
结果:0
看完以上关于示例比较MySQL中字符串和数字,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。