如何用*屏蔽字符串中出现的第N个位置值

时间:2019-01-09 13:07:36

标签: postgresql

如何用“ *”掩盖字符串中出现的第N个位置值

12345678必须替换为*,例如在PostgreSQL中=> ******78

2 个答案:

答案 0 :(得分:1)

您可以将所需数量的*与子字符串连接:

select rpad('*',6,'*')||substr(input,6)
from (
  values ('12345678') 
) as t(input)

rpad('*',6,'*')生成六个*字符,substr(col,6)接受输入中第六个字符之后的所有内容。

答案 1 :(得分:0)

我有答案。请参考以下查询。我只希望查看数字的最后两位数字,其余值将显示为“ *”。

从my_table中选择lpad(right(colName,2),length(colName),'*');