SQL 查询,实现卡号部分信息的隐藏 (XXXX5678)

需求:sql 查询,隐藏部分卡号,只显示后四位
e.g. 12345678 显示为 XXXX5678

思路

  1. 取后四位,用于显示
  2. 出去后四位,有几位显示几个X
  3. 特殊处理,当总位数不足4位,不再隐藏
select 
  ISNULL(REPLICATE('X', LEN(cardNumber) - 4), '') + RIGHT(cardNumber, 4) as card
from Cards

当然,如果能确保需要隐藏的内容大于4位数,可以去掉ISNULL,e.g.

select 
  REPLICATE('X', LEN(cardNumber) - 4) + RIGHT(cardNumber, 4) as card
from Cards

总结,使用到了sql原生的 ISNULL, REPLICATE, RIGHT 三个方法。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值