1.mysql中判断某个值不等于指定值时,会过滤掉null的情况:
如:
select * from biz_loan_info where verifi_status != '1';
最终查出来的结果不包含verifi_status 是null 的数据(因为 !='1’比较的前提是该字段必须有值),导致错误。
正确写法:
①select * from biz_loan_info where verifi_status != '1' or verifi_status is null;
②select * from biz_loan_info where IFNULL(verifi_status,'') != '1' ;
2.mysql 比较字符串数值大小:
select * from biz_crd_info where draw_limit>'300000';
查询结果:
原因:mysql比较字符串大小是逐位进行ASCII码进行比较的。
正确写法:
select * from biz_crd_info where CAST(draw_limit,decimal(18,2))>CAST('300000',decimal(18,2))