在测试数据库中,涉及到保密资料,需要做模糊处理的时候可以用如下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一下看看效果,以免出错。