关于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时后面会自动+空格的问题

 

posted @ 2022-03-31 10:50  头鹰在学习  阅读(168)  评论(0编辑  收藏  举报