Oracle数据脱敏REPLACE()和SUBSTR()

可用于数据巡查,需要导出脱敏数据进行查看等场景。
本文前半部分为脱敏例子,后半部分介绍了REPLACE()和SUBSTR()用法
查询效果如下(用excel导出也可以导出***):

查看语句可用于查询出脱敏数据,不更改数据值
更新语句可用于更新成脱敏数据,会更改数据值

-- 查看替换
select t.C_CUSTOMERNAME,
REPLACE(t.C_ADDRESS,SUBSTR(t.C_ADDRESS,3,6),'******') 地址,
from tcustomer_info t where t.c_address is not null

-- 更新替换
update tcustomer_info set C_ADDRESS= REPLACE(t.C_ADDRESS,SUBSTR(t.C_ADDRESS,3,6),'******') where t.c_address is not null
--插入替换
--将C_CUSTOMERNAME=李桂花的C_ADDRESS字段值改为脱敏数据
replace into tcustomer_info VALUES('李桂花','南******街88弄99单元999')

ps:针对插入替换,如果原表中没有’李桂花’这条数据就作为新数据插入(相当于insert into作用);如果原表中有’李桂花’这条数据就做替换(相当于update作用)。对于没有指定的字段以默认值插入。

REPLACE(参数1,参数2,参数3):
REPLACE(String,str1,str2) 即:将String中所有出现的str1替换为str2。

SUBSTR(参数1,参数2,参数3):
SBUSTR(str,pos):从pos开始的位置,一直截取到最后。
SUBSTR(str,pos,len): 就是从pos开始的位置,截取len个字符(空白也算字符)。
例:SUBSTR(t.C_ADDRESS,3,6)从3开始的位置,截取6个字符
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值