Mysql int字段过滤掉string中字母只有查询数字

Song836 次浏览0个评论2021年11月15日

从Mariadb切换到mysql数据库,发现select的时候mysql可以直接对int字段传string类型值。 如:

select * from shcool where id='8abc';

居然等同于:

select * from shcool where id='8';

原理:Mysql会将传入的string(要赋值给int字段的)从左到右的第一个非数值开始,将后面的字符串转成0,在和数值类型相加。 如上述例子就是"8abc"->8+0=12

insert、select、update、delete都可以。

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...