db2 掩蔽名称列

piwo6bdm  于 2023-06-29  发布在  DB2
关注(0)|答案(2)|浏览(170)

我需要从报告中屏蔽帐号和姓名数据。我的table看起来像这样
| 名称| NAME |
| --| ------------ |
| 此名称| THISISMYNAME |
| EVAN DIMASATRIO| EVAN DIMASATRIO |
| 这是我的名字| THIS IS MYNAME |
| 劳尔·霍姆斯| RAUL HOLMES |
| 劳尔·霍姆斯·阿古斯蒂纳| RAUL HOLMES AGUSTINA |
我需要显示ACC_NUM列的最后3位数字和NAME列每个单词的前3位数字。我可以对ACC_NUM列使用CONCAT('xxxxxxx', RIGHT(ACC_NUM, 3)),但找不到屏蔽NAME列的方法。
我的预期输出是这样的
| 名称| NAME |
| --| ------------ |
| TIIXXXXX| THIXXXXX |
| EVAXXXXX DIMXXXXX| EVAXXXXX DIMXXXXX |
| THIXXXXX是MYNXXXXX| THIXXXXX IS MYNXXXXX |
| RAUXXXXX HOLXXXXX| RAUXXXXX HOLXXXXX |
| RAUXXXXX HOLXXXXX AGUXXXXX| RAUXXXXX HOLXXXXX AGUXXXXX |
这是我的dbfiddle链接:https://dbfiddle.uk/3K_MpRoE

jgzswidk

jgzswidk1#

从访问x中选择子字符串(x. acc_num,1,0)+'*'+子字符串(x.acc_num,len(x.acc_num)-2,len(x.acc_num))

ma8fv8wu

ma8fv8wu2#

大家找到了,我就用这个查询

REGEXP_REPLACE(NAME, '([A-Z]{3})([A-Z]+)', '\1****')

这就是dbfiddle:https://dbfiddle.uk/4QGiz9RF

相关问题