Oracle汉字用户名数据脱敏长度不变,rpad函数使用

在Oracle数据库中,为了信息安全,对汉字用户名进行数据脱敏。规则包括:长度小于9字符,保留前后3个汉字并用*填充;长度9个字及以上且奇数,隐藏中间3个汉字;长度10个字及以上且奇数,隐藏4个汉字。文章讨论了substr函数正确处理汉字的方法,指出rpad函数在处理中文长度时的问题,并提供了参考链接。
摘要由CSDN通过智能技术生成

信息安全考虑,有时需要对用户名称进行数据脱敏。

针对Oracle数据库,进行取数数据脱敏处理

脱敏规则:

长度小于9个字符,只保留前3个汉字与后3个汉字,中间全部由*填充。

长度9个字及以上及奇数,隐去中间3个字;长度10个字及以上及奇数,隐去中间4个字。

例如:

公司名称:宇宙无敌厉害的超级大公司的杭州分公司  

字段长度:18

脱敏后:宇宙无敌厉害的****司的杭州分公司

 

可实现的正确答案:

select
t.no, ---公司编号
case when length(t.name)<=8 then substr(t.name,1,3</
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值