如何解决SQL 中的部分屏蔽 - Oracle
给定的表有借记卡号码。我想写个代码把中间4个数字换成X的借记卡号进行屏蔽,表格如下:
我想要以下输出:
UPDATE
Debit_card_master
SET
Debit_card = LEFT(Debit_card,4) + REPLICATE(‘x’,4) + RIGHT(Debit_card,4) ;
解决方法
您的代码看起来有点适合 MySQL(虽然不完全)。在 Oracle 中,您可以使用 regexp_replace()
:
regexp_replace(debit_card,'^(....)(....)','\1xxxx')
你可以先测试一下。在 update
中:
UPDATE Debit_card_master
SET debit_card = regexp_replace(debit_card,'\1xxxx');
注意:这里假设数字总是 12 个字符。或者,更具体地说,它替换位置 5-8 中的字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。