首页 > 解决方案 > 如何用单个字符替换字符串值

问题描述

我想屏蔽除最后四个字符之外的数据。

例如:

我尝试使用正确和替换功能。但我找不到解决方案。

屏蔽除最后四个之外的数据characters/numbers

在此处输入图像描述

标签: sqlregexreplacepatindexsql-masking

解决方案


在 Oracle 上,您可以尝试以下查询以用 0 替换数字 -

SELECT REGEXP_REPLACE (SUBSTR('123 453 6987', 1, LENGTH('123 453 6987')-4), '\d', '0') || SUBSTR('123 453 6987', -4, 4) PROCESSED_STRING
FROM DUAL;

PROCESSED_STRING
000 000 6987

对于用#s 替换字符串 -

SELECT REGEXP_REPLACE (SUBSTR('Rio De janerio', 1, LENGTH('Rio De janerio')-4), '\S', '#') || SUBSTR('Rio De janerio', -4, 4) PROCESSED_STRING
FROM DUAL;

PROCESSED_STRING
### ## ###erio

是小提琴。


推荐阅读