公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对。发现了一个现象,用数字0筛选会把所有的记录给筛选出来。 经过排查发现是在MySQL查询语句中,'abc'如果和'0'比较结果显然是不等的,但如果'abc'和0比较 ...
select 结果为 select a 结果为 select aa 结果为 select aa true 大坑,切记 select aa false 总结, .string和int比较时,是string迁就int,字符串转化成数字进行比较的 .字符串转化规则:只会截取最前面的数字部分 即如果第一个遇到的是字母,则直接返回 ...
2018-12-18 15:52 0 768 推荐指数:
公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对。发现了一个现象,用数字0筛选会把所有的记录给筛选出来。 经过排查发现是在MySQL查询语句中,'abc'如果和'0'比较结果显然是不等的,但如果'abc'和0比较 ...
今天同事踩到的坑,记下来以免以后犯同样的错误。 数据库的order_ids字段类型是string类型,查询的时候让order_ids=0,即使order_ids="aaaaaaa",order_ids=0也能查询出来,因为字符串和数字比较是自动转化为数字,如果开头没有数字就转化为0,所以查询一致 ...
mysql将字符串转为数字 方法1 : 直接使用+0 栗子:select * from student order by (status+0) desc 方法2 : CONVERT(value, type); 栗子:select * from student order ...
写在前面 上篇文章学习了mysql常用的日期操作的函数,这篇文章将学习mysql的字符串操作的函数。 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,update mysql之group by,order by mysql之count ...
今天写sql语句时,相对字符串类型的数字进行排序,怎么做呢? 需要先转换成数字再进行排序 1.直接用加法 字符串+0 eg: select * from orders order by (mark+0) desc eg: 以分类字段进行分组,获取分类总数amount ...
使用场景: 在数据库中进行数字比较,但是数字的存储格式是varchar的时候可以使用以下方法进行转换,然后进行比较 ...
...
转载自:https://www.cnblogs.com/xiaoleiel/p/8316508.html 在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现 ...