关于sql查询漏掉的bug
前提:sql查询中,where条件会忽略字段中右侧的空格,即 where name= '张三' 和where name = '张三 ' 的查询结果是一样的
https://www.iteye.com/blog/grzrt-1810221
bug定位过程:
1.缺陷内容:
数据统计中,全部和根部门的统计结果不一致
2.定位:
全部是根据staff的权限定位:即 select xxxxx from table_client left join table_client on staffId = staffId
根部门统计是根据deptId和corpId : 即 select xxx from table_dept left join table_client on corpId = corpId
理论上来说,两者的查询条件是不会有差异的,但是因为导入corpId时有缺陷,部分的corpId导入时有添加空格后缀,在 left join on 时,部分有空格的corpId没有匹配到dept,导致这部分的数据会缺失
3.修改:
修改同步corpId时后面会自动+空格的问题