Oracle的小笔记,模糊处理人名,电话,地址之类字段数据时可以使用的SQL语句

在测试数据库中,涉及到保密资料,需要做模糊处理的时候可以用如下SQL语句,例如王小明改为王某某,18212345678改为182xxxxxx78等等。

以下为Oracle数据库语句实现,其他数据库可能略有出入,但思想一致,都是用replace和substr以及length函数。


UPDATE TABLE SET IDNUM = REPLACE(IDNUM,SUBSTR(IDNUM,2,13),'xxxxxxxxxxxxx') where (自己的限制条件);

UPDATE TABLE SET NAME = REPLACE(NAME,SUBSTR(NAME,2,2),'某某') WHERE length(nvl(NAME,''))=3 AND (其他条件);  (名字长度为三的人名,如果名字长度为2,自己修改)


其他大同小异,注意SUBSTR后面跟的数字的,第一个参数对应从第几位开始截取,(从1开始计数不是从0),第二个参数表示截取几位,(不是截取到第几位)。建议执行语句前先SELECT一下看看效果,以免出错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值