1.情景展示
返回服务器的身份证号需要进行加密:只保留前四位和后四位,中间使用*代替,如何实现?
2.解决方案
第一步:查看该表的身份证号的长度有几种类型;
第二步:编写sql
错误方式:
长度为15的会被替换成''。
正确方式:
--截取身份证号
SELECT DECODE(LENGTH(ID_CARD),
18,
REPLACE(ID_CARD, SUBSTR(ID_CARD,
5,
10),
'**********'),
15,
REPLACE(ID_CARD, SUBSTR(ID_CARD,
5,
7),
'*******')) 身份证号
FROM VIRTUAL_CARD_TEMP;
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
oracle 判断字符串是否包含指定内容
转载于:https://www.cnblogs.com/Marydon20170307/p/10064955.html