使用sql语句对数据库脱敏

  • Post author:
  • Post category:其他


最近帮领导整理了一下数据库,给数据库的某些字段进行脱敏,现在整理一下,嘻嘻

1、姓名脱敏

update table set 列 = REPLACE(列,SUBSTR(列,2,1),'*')

姓名脱敏之后的效果:

2、手机号脱敏

UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '****' || SUBSTR (列, 8) ELSE NULL END )

手机号脱敏之后的效果:

3、身份证号脱敏

UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 6) || '********' || SUBSTR (列, 15) ELSE NULL END )

身份证号脱敏之后的效果:

4、邮箱脱敏

UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '*****' || SUBSTR (列, 9)ELSE NULL END )

邮箱脱敏之后的效果 :

pan*****wen@163.com

5、地址脱敏(其一)


UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 0, 0) || '****' || SUBSTR (列, 5) ELSE NULL END )

地址脱敏之后的效果: (隐藏前四位)

****壁市淇县

地址的另一种脱敏方式 (其二)

UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '******' ELSE NULL END )

只保留前三位

河南省******



版权声明:本文为m0_59596824原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。