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

朴灿烈づ我的快乐病毒、 2022-12-25 03:54 74阅读 0赞

需求: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.

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

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

发表评论

表情:
评论列表 (有 0 条评论,74人围观)

还没有评论,来说两句吧...

相关阅读