今天在做系统功能的开发时,老大安排给我一个任务,如下图所示。将图中所有涉及到身份证号、手机号的信息脱敏,以防公司数据库用户信息数据被滥用。
乍一看这个需求蛮简单的,实际上也确实挺简单。但做起来,却不得不考虑一些地方。
原本数据的查询是通过一个存储过程来实现的,偷偷的告诉你,这个存储过程有将近两千行sql代码。其实吧,倒也正常。然后我就在这两千行代码中找需求需要改动的地方。很快的就找到了,
然后就对身份证号采用
if(ifnull(owner_id,"")="","",concat(left(owner_id,5),"***************"))
对手机号采用
concat(left(owner_phone,3),"*****",right(owner_phone,3))
能够熟练操作数据库的都能明白其中的道理,第一条sql是在业主身份证号不为空if()和ifnull()的情况下,left()