1、首先备份要操作的数据库表,防止对原表误操作。
2、例子:数据库表名:st_person,要操作的字段为:phone
3、select phone from st_person ; --看看表里该字段是否有数据,大概格式是什么,该表目前是手机号码,固定是11位的。
4、select replace(phone,substr(phone,4,5),'*****'),phone from st_person where ……; --where条件自己加,也可以不加where,全部查询,呈现的是该字段修改前后情况。
5、update st_person set phone =replace(phone,substr(phone,4,5),'*****') where ……;--更新修改phone字段,substr(phone,4,5)意思是从第4位开始,截取5位。replace(phone,substr(phone,4,5),'*****')意思是将截取的字段用*号代替,如果*号的个数正好等于截取位数5,则替换5个星号;*号不够的话则只替换*号个数;*号多于5位时,按照星号个数替换。(就是截取多少位,最后也是按照*号个数替换)---这是截取中间位数,且正好所有号码都是11位情况
6、update st_person set phone= "replace"(phone,substr(phone,length(phone)-2),'**') WHERE ……;与步骤5一样,不同点是:length(phone)-2)意思是截取phone字段长度减2,用星号代替。即不管该列里面的值是多长,都截取最后2位改为*号。