姓名

-- 姓名
-- 查看语句
SELECT REPLACE(user_name,SUBSTR(user_name,2,1),'*') AS user_name from user where user_account='zhangwuji'

-- 更新语句
update user set user_name = REPLACE(user_name,SUBSTR(user_name,2,1),'*') where user_account='zhaomin'

全表操作去掉where条件即可,一定要慎重并先做好备份。

手机号(邮箱也可以用这个规则)

使用 ​​replace(phone,substr(phone,4,4),'****')​​​ 即可。
如下sql:

SELECT
username,
REPLACE ( phone, substr( phone, 4, 4 ), '****' ) AS phone
FROM
USER;

还有一种方式 ​​substr(username,1,3)||'****'||substr(username,-4,4)​​​,
sql如下:

update
user set username
=substr(username,1,3)||'****'||substr(username,-4,4) where username is not null;