mysql中数字与字符串比较
遇到一个坑:搜索框模糊匹配时同时加入id来精准匹配,相当然的mysql条件里使用id=#{keyWord},但是却发现一个坑,当我使用数字+字符串作为keyWord时,类似——"2abc",这时发现id为2的数据被匹配到了,很坑!!!
去网上查了一下原来mysql在比较数字和字符串时默认将字符串转化为数字的时候,如果字符串前有数字默认直接转化成前面的数字,即"2abc"变成了2所以匹配到了id为2的数据。
解决方法目前只能在程序做控制,判断入参是否是纯数字,如果是则用另一个字段来赋值之后筛选id