【SQL】【脱敏】快速数据脱敏脚本


 mysql

-- 脱敏姓名
UPDATE table SET `name` = (if(LENGTH(name)>2,CONCAT(LEFT(name,1), '**' ),CONCAT(LEFT(name,1), '*' )));

-- 脱敏身份证号
UPDATE table SET idNumber = (if(LENGTH(idNumber)>6,CONCAT(LEFT(idNumber,4), '************' ,RIGHT(idNumber,2)),''));

-- 脱敏手机号
UPDATE table set phone = (if(LENGTH(phone)>3,CONCAT(LEFT(phone,3), '*****' ,RIGHT(phone,3)),''));

-- 脱敏邮箱
UPDATE table set email = (if(LENGTH(email)>3,CONCAT(LEFT(email,3), '**@**' ,RIGHT(email,3)),''));

-- 脱敏地址
UPDATE table set address = (if(LENGTH(address)>8,CONCAT(LEFT(address,5), '**********' ,RIGHT(address,3)),''));

-- 数量脱敏
UPDATE table set num = replace(replace(replace(replace(num,'4','6'),'2','7'),'3','8'),'1','5');

 

 

Sqlserver


-- 脱敏姓名
UPDATE table SET name = (iif(LEN(name)>2,CONCAT(LEFT(name,1), '**' ),CONCAT(LEFT(name,1), '*' )));

-- 脱敏身份证号
UPDATE table SET idNumber = (iif(LEN(idNumber)>6,CONCAT(LEFT(idNumber,4), '************' ,RIGHT(idNumber,2)),''));

-- 脱敏手机号
UPDATE table set phone = (iif(LEN(phone)>3,CONCAT(LEFT(phone,3), '*****' ,RIGHT(phone,3)),''));

-- 脱敏邮箱
UPDATE table set email = (iif(LEN(email)>3,CONCAT(LEFT(email,3), '**@**' ,RIGHT(email,3)),''));

-- 脱敏地址
UPDATE table set address = (iif(LEN(address)>8,CONCAT(LEFT(address,5), '**********' ,RIGHT(address,3)),''));

-- 数量脱敏
UPDATE table set num = replace(replace(replace(replace(num,'4','6'),'2','7'),'3','8'),'1','5');

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM