一 ,姓名脱敏

只留下姓氏 ,其余全部改为*号

也可修改其他字段,该sql可以留下前几位,其余按照位数置*

UPDATE  user SET
fang_ke_xing_ming = rpad( substring( fang_ke_xing_ming, 1, 1 ), char_length( fang_ke_xing_ming ), '*' ),

结果如下:

二,电话号码脱敏

只保留前几位和后几位,位数可以自己设置

UPDATE 
    user
    SET
    fang_ke_shou_ji_hao = CONCAT( LEFT ( fang_ke_shou_ji_hao, 3 ), '****' ,RIGHT(fang_ke_shou_ji_hao,4)),

三,mysq中json格式脱敏

update fang_ke_yu_yue set suo_zai_xue_xiao = json_set(suo_zai_xue_xiao,'$.qu',  lpad( substring( suo_zai_xue_xiao->>'$.qu', char_length( suo_zai_xue_xiao->>'$.qu' ), char_length( suo_zai_xue_xiao->>'$.qu' ) ), char_length( suo_zai_xue_xiao->>'$.qu' ), '*' ) )

四,根据关键字查询并且隐藏其中固定位置的字段

    UPDATE zhi_an SET dan_wei = REPLACE (dan_wei, SUBSTRING(dan_wei,1,3),'**' ) WHERE dan_wei regexp '市'

其他情况可根据实际需要组合使用以上语法

更多推荐