问题描述:根据数据库某个整型字段查询时,条件为字符串,且查询表没有相应的条件也能查出数据
数据库数据:
第一种情况:sql语句查询结果:SELECT * FROM test
WHERE ia_id = “ACOUJHN”
导致能查询出来的原因:当字符串为"ACOUJHN"这种时,会被隐式转换为0,所以会查询出来
第二种情况:SELECT * FROM pms_installment_attr
WHERE ia_id = “1ACOUJHN”
导致能查询出来的原因:当字符串为"1ACOUJHN"这种时,会被自动截取出开头为连续整数,最终是1来查询。
例如:1ACOUJHN->1 “ACOUJHN”->0 “00ACOUJHN”->0 “0010ACOUJHN”->10 “ACOUJ11HN”->0