我想使用DB2 IBM中的SQL将我的列部分替换为name(Accountno),如下所示。另外,我不想创建新列,需要在同一列中进行更改之前帐号:
234567734 987652309
在帐号之后:
23*****34 98*****09
mi7gmzs61#
您可以复制账号的前两个字符和最后两个字符,然后重复5次,将中间的字符替换为“*”。
UPDATE test_table SET Accountno = SUBSTR(Accountno, 1, 2) || REPEAT('*', LENGTH(Accountno) - 4) || SUBSTR(Accountno, LENGTH(Accountno) - 1, 2) sample output: 22*****89 34*****24
eyh26e7m2#
您可以使用Dynamic Data Masking
ALTER TABLE Account ALTER COLUMN Accountno nvarchar(10) MASKED WITH (FUNCTION= 'partial(2,"XXXXX",2)');
iq0todco3#
UPDATE table SET accoountno = substr(accoountno, 1, 2) || '*****' || substr(accoountno, char_length(accoountno) - 1, 2);
3条答案
按热度按时间mi7gmzs61#
您可以复制账号的前两个字符和最后两个字符,然后重复5次,将中间的字符替换为“*”。
eyh26e7m2#
您可以使用Dynamic Data Masking
iq0todco3#