You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SQLite查询结果中studentNo列的输出格式?

SQLite实现studentNo掩码显示(保留最后四位)

你需要将studentNo的前几位替换为X,仅保留最后四位,之前用REPLACE的方式不对——REPLACE(studentNo, '', 'X')会在每个字符之间插入X,完全达不到掩码效果。下面提供两种可行的解决方法:

方法1:针对固定长度的studentNo(已知为9位)

如果你的studentNo固定是9位,直接拼接固定数量的X和截取的最后四位即可:

SELECT 'XXXXX' || SUBSTR(studentNo, 6) AS studentNo FROM students;

SUBSTR(studentNo, 6)会从第6个字符开始截取,得到2685,和五个X拼接后正好是XXXXX2685。

方法2:通用适配任意长度的studentNo

如果studentNo长度不固定,想统一保留最后四位、前面全部替换为X,可以用以下语句:

SELECT REPEAT('X', LENGTH(studentNo) - 4) || SUBSTR(studentNo, -4) AS studentNo FROM students;
  • LENGTH(studentNo)获取字符串总长度,减去4得到需要替换为X的位数
  • REPEAT('X', ...)生成对应数量的X字符
  • SUBSTR(studentNo, -4)直接截取字符串的最后四位,不受总长度影响

执行以上任意一条语句,都能得到你想要的XXXXX2685结果。

内容的提问来源于stack exchange,提问作者Ashy Ashcsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 05:30:42